C# Examples
Streaming Provider
var provider = new Provider("events");
// Use IAsyncEnumerable for streaming
provider.RegisterStream("subscribe", async (string topic) =>
{
await using var subscriber = await SubscribeAsync(topic);
await foreach (var evt in subscriber)
{
yield return evt;
}
});
await provider.ServeAsync("unix:///tmp/saikuro.sock");
Client with Logging
var client = new Client();
await client.ConnectAsync("tcp://10.0.0.5:7700");
// Structured logging
await client.LogAsync("info", "myapp", "started", new { version = "1.0" });
// With timeout
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
var result = await client.CallAsync<int>("math.add", new object[] { 1, 2 }, cts.Token);