Synadia.Orbit.Counters 1.0.0-preview.3 (original) (raw)

Distributed counters backed by JetStream streams. Each subject in a counter-enabled stream is an independent counter supporting atomic increment/decrement operations with arbitrary precision values.

Usage

await using var client = new NatsClient();
var js = client.CreateJetStreamContext();

// Create a counter-enabled stream
await js.CreateStreamAsync(new StreamConfig("COUNTERS", ["counter.>"])
{
    AllowMsgCounter = true,
    AllowDirect = true,
});

// Get a counter handle
var counter = await js.GetCounterAsync("COUNTERS");

// Increment
var value = await counter.AddAsync("counter.hits", 1);

// Load current value
var current = await counter.LoadAsync("counter.hits");

// Get full entry with source tracking
var entry = await counter.GetAsync("counter.hits");

// Get multiple counters at once
await foreach (var e in counter.GetManyAsync(new[] { "counter.>" }))
{
    Console.WriteLine($"{e.Subject}: {e.Value}");
}
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 is compatible. 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 is compatible. 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. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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 is compatible.
.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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.