Skyline.DataMiner.Utils.DecayableCache.Protocol
1.0.1-alpha
Prefix Reserved
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
<PackageReference Include="Skyline.DataMiner.Utils.DecayableCache.Protocol" Version="1.0.1-alpha" />
paket add Skyline.DataMiner.Utils.DecayableCache.Protocol --version 1.0.1-alpha
#r "nuget: Skyline.DataMiner.Utils.DecayableCache.Protocol, 1.0.1-alpha"
// 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 | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.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. |
-
.NETStandard 2.0
- Skyline.DataMiner.Utils.DecayableCache.Common (>= 1.0.1-alpha)
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 | 144 | 11/27/2023 |