Table of Contents

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
Inherited Members

Constructors

RpcRequest()

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

public RpcRequest()

Properties

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

string

MessageId

Unique identifier for this request, used for response correlation.

public int MessageId { readonly get; set; }

Property Value

int

MethodName

The name of the method being called.

public string MethodName { readonly get; set; }

Property Value

string

ServiceName

The name of the service being called.

public string ServiceName { readonly get; set; }

Property Value

string

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; }

Property Value

RpcStreamHandle[]