Skyline.DataMiner.Utils.DecayableCache.Protocol 1.0.1-alpha

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
This is a prerelease version of Skyline.DataMiner.Utils.DecayableCache.Protocol.
dotnet add package Skyline.DataMiner.Utils.DecayableCache.Protocol --version 1.0.1-alpha
NuGet\Install-Package Skyline.DataMiner.Utils.DecayableCache.Protocol -Version 1.0.1-alpha
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Skyline.DataMiner.Utils.DecayableCache.Protocol" Version="1.0.1-alpha" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Skyline.DataMiner.Utils.DecayableCache.Protocol --version 1.0.1-alpha
#r "nuget: Skyline.DataMiner.Utils.DecayableCache.Protocol, 1.0.1-alpha"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Skyline.DataMiner.Utils.DecayableCache.Protocol as a Cake Addin
#addin nuget:?package=Skyline.DataMiner.Utils.DecayableCache.Protocol&version=1.0.1-alpha&prerelease

// Install Skyline.DataMiner.Utils.DecayableCache.Protocol as a Cake Tool
#tool nuget:?package=Skyline.DataMiner.Utils.DecayableCache.Protocol&version=1.0.1-alpha&prerelease

Skyline.DataMiner.Utils.DecayableCache.Protocol

About

About DataMiner

DataMiner is a transformational platform that provides vendor-independent control and monitoring of devices and services. Out of the box and by design, it addresses key challenges such as security, complexity, multi-cloud, and much more. It has a pronounced open architecture and powerful capabilities enabling users to evolve easily and continuously.

The foundation of DataMiner is its powerful and versatile data acquisition and control layer. With DataMiner, there are no restrictions to what data users can access. Data sources may reside on premises, in the cloud, or in a hybrid setup.

A unique catalog of 7000+ connectors already exist. In addition, you can leverage DataMiner Development Packages to build you own connectors (also known as "protocols" or "drivers").

Note See also: About DataMiner.

About Skyline Communications

At Skyline Communications, we deal in world-class solutions that are deployed by leading companies around the globe. Check out our proven track record and see how we make our customers' lives easier by empowering them to take their operations to the next level.

Overview

This library offers a robust solution for efficiently caching parameter data in memory. Designed specifically for .NET applications, it ensures thread-safe operations, allowing for concurrent data access without compromising data integrity or performance.

Ideal Use Cases

  • Connectors where the parameters or tables are large and lookups need to be done frequently.
  • Environments with concurrent data access needs.

Getting Started

Define a static object of the GlobalparameterCache class using your desired data type.

  • Tables could be a Dictionary holding the PK to some or all row values.
  • Large parameters could contain the deserialized data type rather than the serialized string.
  • Custom classes can be used to provide and abstract additional parameter specific functionality.

Defined as a static, it is immediately accessible to all referencing QActions, but is also shared amongst all elements hosted in the same SLScripting. Hence, elements not accessing their values will eventually be removed.

static GlobalParameterCache<Dictionary<PhysicalAddress, string>> sharedMacToPKCache = new GlobalParameterCache<Dictionary<PhysicalAddress, string>>(TimeSpan.FromMinutes(30));

The object retrieved from the cache will be a wrapper that contains an IsInitialized flag to be controlled by the user, but false by default, and a lock object to aid with safe access.

var parameter = sharedMacToPKCache.GetParameter(16, 32, 1000);
lock (parameter.Lock)
{
	if (!parameter.IsInitialized)
	{
		parameter.Value = new Dictionary<PhysicalAddress, string>();

		// Load existing values

		parameter.IsInitialized = true;
	}

	// Read cached values
	// and/or write altered values to cache and element
}
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.1-alpha 127 11/27/2023