Pocok.Signals
Signals
Generate constrained Signals configuration and usage recipes.
Signals recipe builder
Generated from typed options// Install Pocok.Signals.
using Pocok.Signals.Operations;
using Pocok.Signals.Runtime;
using Pocok.Signals.Sources;
using Pocok.Signals.Writing;
SignalSourceFactory factory = ResolveSourceAsync;
await using var runtime = new SignalRuntime(
factory,
new SignalRuntimeOptions(
subscriberCapacity: 32,
reconnectDelay: TimeSpan.FromSeconds(2),
staleAfter: null));
SignalAddress address = new(new SourceId("plant"), "temperature/outlet");
SignalResult<SignalConnection<double>> connected = await runtime.ConnectAsync<double>(address, cancellationToken);
if (!connected.IsSuccess) return;
await using SignalConnection<double> signal = connected.Value!;
SignalResult<SignalSample<double>> result = await signal.ReadAsync(cancellationToken);
if (result.IsSuccess && result.Value!.HasValue)
Console.WriteLine($"{result.Value.Value} ({result.Value.Quality})");