Skip to content

Struct RpcRequest

Namespace: DotBoxD.Services.Protocol
Assembly: DotBoxD.Services.dll

Represents an RPC request message. A struct so that framing a request does not heap-allocate the envelope on the client hot path; it is constructed, serialized, and read but never mutated after construction.

public struct RpcRequest

object.Equals(object), object.Equals(object, object), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object, object), object.ToString()

Initializes an empty request. Required so the string field initializers run for new RpcRequest() and during deserialization.

public RpcRequest()

Per-connection opaque identifier of the server-side instance this call targets. null for ordinary singleton-service calls (the legacy code path); non-null for nested-service calls dispatched via IServiceDispatcher.DispatchOnInstanceAsync. Wire-compatible with older peers because absent properties deserialize to null.

public string? InstanceId { readonly get; set; }

string?

Unique identifier for this request, used for response correlation.

public int MessageId { readonly get; set; }

int

The name of the method being called.

public string MethodName { readonly get; set; }

string

The name of the service being called.

public string ServiceName { readonly get; set; }

string

Streams opened by this request body. The dispatch side registers these handles before processing later frames so streamed arguments cannot race their receivers.

public RpcStreamHandle[]? Streams { readonly get; set; }

RpcStreamHandle[]?