This page is the C# adapter API reference. For shared protocol details, see Core Protocol Reference.
Main types
SaikuroClient
SaikuroProvider
SaikuroStream<T>
SaikuroChannel<TIn, TOut>
SaikuroException
ITransport, InMemoryTransport, TcpTransport, UnixSocketTransport, WebSocketTransport
SaikuroClient factory and lifecycle
| Symbol |
Signature |
Returns |
Notes |
SaikuroClient.ConnectAsync |
public static async Task<SaikuroClient> ConnectAsync(address, options?, ct?) |
Task<SaikuroClient> |
Creates transport from address and connects. |
SaikuroClient.OpenOnAsync |
public static async Task<SaikuroClient> OpenOnAsync(transport, options?, ct?) |
Task<SaikuroClient> |
Uses existing transport instance. |
SaikuroClient.FromTransport |
public static SaikuroClient FromTransport(transport, options?) |
SaikuroClient |
Does not auto-connect. |
client.OpenAsync |
public async Task OpenAsync(ct?) |
Task |
Starts receive loop. |
client.CloseAsync |
public async Task CloseAsync(ct?) |
Task |
Graceful shutdown. |
client.Connected |
public bool Connected |
bool |
Connection state. |
SaikuroClient invocation API
| Symbol |
Signature |
Returns |
Notes |
client.CallAsync |
public async Task<object?> CallAsync(target, args, capability?, timeout?, ct?) |
Task<object?> |
Request/response invocation. |
client.CastAsync |
public Task CastAsync(target, args, capability?, ct?) |
Task |
Fire-and-forget invocation. |
client.ResourceAsync |
public async Task<ResourceHandle> ResourceAsync(target, args, capability?, timeout?, ct?) |
Task<ResourceHandle> |
Resource-handle invocation. |
client.BatchAsync |
public async Task<IReadOnlyList<object?>> BatchAsync(calls, timeout?, ct?) |
Task<IReadOnlyList<object?>> |
Ordered per-call results. |
client.StreamAsync<T> |
public async Task<SaikuroStream<T>> StreamAsync<T>(target, args, capability?, ct?) |
Task<SaikuroStream<T>> |
Server-to-client stream. |
client.ChannelAsync<TIn, TOut> |
public async Task<SaikuroChannel<TIn, TOut>> ChannelAsync<TIn, TOut>(target, args, capability?, ct?) |
Task<SaikuroChannel<TIn, TOut>> |
Bidirectional channel. |
SaikuroProvider API
| Symbol |
Signature |
Returns |
Notes |
new SaikuroProvider |
public SaikuroProvider(string namespace) |
SaikuroProvider |
Namespace-scoped provider. |
provider.Register |
public SaikuroProvider Register(...) |
SaikuroProvider |
Overloads for sync, async, and stream handlers. |
provider.SchemaDict |
public Dictionary<string, object?> SchemaDict() |
Dictionary<string, object?> |
Schema announcement payload. |
provider.DispatchAsync |
public async Task DispatchAsync(...) |
Task |
Low-level dispatch path. |
provider.ServeAsync |
public async Task ServeAsync(address, ct?) |
Task |
Connect and serve loop. |
provider.ServeOnAsync |
public async Task ServeOnAsync(transport, ct?) |
Task |
Serve on existing transport. |
Error model
Errors surface as SaikuroException with protocol-aligned error codes.