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 RpcRequestInherited Members
Section titled “Inherited Members”object.Equals(object), object.Equals(object, object), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object, object), object.ToString()
Constructors
Section titled “Constructors”RpcRequest()
Section titled “ RpcRequest()”Initializes an empty request. Required so the string field initializers run for
new RpcRequest() and during deserialization.
public RpcRequest()Properties
Section titled “Properties”InstanceId
Section titled “ InstanceId”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; }Property Value
Section titled “Property Value”MessageId
Section titled “ MessageId”Unique identifier for this request, used for response correlation.
public int MessageId { readonly get; set; }Property Value
Section titled “Property Value”MethodName
Section titled “ MethodName”The name of the method being called.
public string MethodName { readonly get; set; }Property Value
Section titled “Property Value”ServiceName
Section titled “ ServiceName”The name of the service being called.
public string ServiceName { readonly get; set; }Property Value
Section titled “Property Value”Streams
Section titled “ Streams”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; }