rpc_dart
library
Classes
BackoffPolicy
Strategy for computing delays between retry/reconnect attempts.
BidirectionalStreamCaller <TRequest extends Object , TResponse extends Object >
Bidirectional stream caller: codecs → serialized; no codecs → zero-copy (zero-copy transport only). Sends and receives concurrently with no ordering restrictions.
BidirectionalStreamResponder <TRequest extends Object , TResponse extends Object >
Bidirectional stream responder: codecs → serialized; no codecs → zero-copy (zero-copy transport only). Handles incoming requests and sends responses independently.
BufferedBroadcastController <T >
A broadcast stream controller that retains events while it has no
listener and replays them, in arrival order, to the first subscriber.
ByteBuffer
A sequence of bytes underlying a typed data object.
ByteData
A fixed-length, random-access sequence of bytes that also provides random
and unaligned access to the fixed-width integers and floating point
numbers represented by those bytes.
BytesBuilder
Builds a list of bytes, allowing bytes and lists of bytes to be added at the
end.
CallProcessor <TRequest extends Object , TResponse extends Object >
Shared processor for client RPC stream calls.
CborCodec
CBOR (Concise Binary Object Representation) implementation for RPC.
Format reference: RFC 7049 https://tools.ietf.org/html/rfc7049
ClientStreamCaller <TRequest extends Object , TResponse extends Object >
Client streaming caller: codecs → serialized; no codecs → zero-copy (zero-copy transport only). Sends many requests, receives one response.
ClientStreamResponder <TRequest extends Object , TResponse extends Object >
Server-side handler for client streaming: codecs → serialized; no codecs → zero-copy (zero-copy transport only). Consumes a request stream and returns one response.
ConsoleOutput
Pretty-prints log records to stdout with optional ANSI colors.
Endian
Endianness of number representation.
ExponentialBackoff
Exponential backoff: baseDelay * 2^attempt, capped at maxDelay .
FixedBackoff
Fixed delay between every attempt.
Float32List
A fixed-length list of IEEE 754 single-precision binary floating-point
numbers that is viewable as a TypedData .
Float32x4
Four 32-bit floating point values.
Float32x4List
A fixed-length list of Float32x4 numbers that is viewable as a
TypedData .
Float64List
A fixed-length list of IEEE 754 double-precision binary floating-point
numbers that is viewable as a TypedData .
Float64x2
Float64x2 immutable value type and operations.
Float64x2List
A fixed-length list of Float64x2 numbers that is viewable as a
TypedData .
GrpcHealthCheckContract
gRPC Health Checking service contract (grpc.health.v1.Health).
GrpcHealthCheckRequest
Health check request. service is the fully-qualified service name
(e.g. "grpc.health.v1.Health"). Empty string means the overall server.
GrpcHealthCheckResponse
Health check response carrying the status of a service.
GrpcHealthServiceStatus
Manages per-service health status and notifies watchers on changes.
Int16List
A fixed-length list of 16-bit signed integers that is viewable as a
TypedData .
Int32List
A fixed-length list of 32-bit signed integers that is viewable as a
TypedData .
Int32x4
Int32x4 and operations.
Int32x4List
A fixed-length list of Int32x4 numbers that is viewable as a
TypedData .
Int64List
A fixed-length list of 64-bit signed integers that is viewable as a
TypedData .
Int8List
A fixed-length list of 8-bit signed integers.
IRpcChannel
Raw bidirectional byte channel -- the minimal transport primitive.
IRpcCodec <T >
Contract for encoding and decoding messages.
IRpcContract
Base interface for all contracts.
IRpcInterceptor
Interceptor interface.
IRpcMiddleware
Base interface for middleware.
IRpcMultiplexedChannel
Multiplexed message channel -- sits between a raw transport and IRpcTransport .
IRpcResponder
Contract for server-side responders that handle a single stream.
IRpcSerializable
Base interface for RPC messages that can be turned into bytes.
All request/response types should implement this for binary serialization
(protobuf, msgpack, etc.).
IRpcServer
Interface for RPC servers.
IRpcTransport
Transport interface with Stream ID multiplexing.
LogConfig
Snapshot of controller configuration (for remote control / diagnostics).
LogController
Central log dispatcher.
LogEnricher
Enricher adds fields to every log record passing through the pipeline.
LogEvent
A point-in-time log event.
LogFilter
Filter criteria for log subscriptions and queries.
LogOutput
Interface for log output backends.
LogRecord
Base type for all log records flowing through the pipeline.
LogRedactor
Redacts sensitive fields from log record data.
LogScope
Lightweight logging handle bound to a scope name and controller.
LogSpan
A completed operation span with duration.
LogSpanHandle
Handle to an active (in-progress) span.
LogSpanStart
Marks the beginning of a span.
RateLimit
Describes a rate-limit algorithm and its parameters.
RingBufferOutput
In-memory circular buffer that keeps the last N log records.
RpcBadRequest
Describes field-level validation errors.
RpcBinaryCodec <T >
Generic binary codec wrapper.
RpcBool
Wrapper for a boolean value.
RpcCallerContract
Client-side contract that invokes methods (does not register them).
RpcCallerEndpoint
Client-side RPC endpoint for sending requests.
RpcCallScope
Structured concurrency scope for an RPC call.
RpcCancellationToken
Operation cancellation token (analogous to context.CancelFunc in Go).
RpcChannelFrame
Multiplexed frame format for IRpcChannel -based transports.
RpcChannelTransport
Full IRpcTransport built from an IRpcMultiplexedChannel .
RpcCircuitBreakerInterceptor
Interceptor that implements the circuit breaker pattern.
RpcClientConnecting
Waiting before the next connection attempt.
RpcClientConnection
Manages a reconnecting RPC client transport with observable state.
RpcClientConnectionState
Observable state emitted by RpcClientConnection .
RpcClientDisconnected
Reconnect permanently stopped because max attempts exceeded or
RpcClientConnection.shouldReconnect returned false.
RpcClientIdle
No connection has been started yet (or RpcClientConnection.disconnect was called).
RpcClientOffline
Transport dropped — reconnect loop running.
RpcClientOnline
Transport connected and ready for calls.
RpcCodec <T extends IRpcSerializable >
CBOR serializer for RPC messages.
RpcCompressionCodec
Interface for a pluggable compression codec.
RpcConstants
gRPC message framing constants.
RpcContext
gRPC-style RPC context - holds call metadata, timeouts, cancellation
tokens, and other contextual information.
RpcContextBuilder
Builder for explicit creation and propagation of RPC contexts.
Removes boilerplate when building complex contexts with inheritance.
RpcContextUtils
Utilities for working with the context.
RpcDebugInfo
Server-side debug information (stack traces, diagnostic details).
RpcDecodedFrame
A decoded multiplexed frame.
RpcDirectMultiplexedChannel
Zero-copy IRpcMultiplexedChannel that passes RpcTransportMessage directly.
RpcDouble
Wrapper for a double value.
RpcEndpointBase
Base class for all RPC endpoints.
RpcEndpointHealth
Health report for an RPC endpoint.
RpcEndpointPingExchange
Manages sending a ping and handling its response for an endpoint.
RpcEndpointPingProtocol
Ping protocol constants and metadata between endpoints.
RpcEndpointPingResult
Ping result between endpoints.
RpcErrorDetail
A structured error detail attached to RpcStatusException .
RpcErrorInfo
Describes the cause of an error with a reason, domain, and metadata.
RpcFieldViolation
A single field validation error.
RpcFrameMultiplexedChannel
IRpcMultiplexedChannel that wraps a raw IRpcChannel with frame encoding.
RpcGrpcCompression
Minimal gRPC message compression helpers.
Represents a single HTTP/2 header.
gRPC-semantic header name constants.
RpcHealthStatus
Snapshot of a component's health.
RpcInMemoryTransport
High-speed in-memory transport with zero-copy support.
RpcInt
Wrapper for an integer value.
RpcList <T extends IRpcSerializable >
Specialized list for objects implementing IRpcSerializable.
RpcMessage <T >
Wrapper for a gRPC message together with its metadata.
RpcMessageFrame
Utilities for gRPC message framing.
Information extracted from the 5-byte gRPC message prefix.
RpcMessageParser
Parser that reassembles fragmented gRPC messages.
RpcMetadata
Request/response metadata (a set of gRPC headers).
RpcMethod
Describes how a method should be registered and invoked.
RpcMethodRegistration <TRequest extends IRpcSerializable , TResponse extends IRpcSerializable >
Method registration within a contract.
RpcMiddlewareContext
Middleware/interceptor context passed through request/response lifecycle.
Provides endpoint reference, service/method names, and the current
RpcContext .
RpcNull
Wrapper for null.
RpcNum
Wrapper for a numeric value.
RpcPeerContract
Bidirectional peer contract — registers handlers AND makes outgoing calls
through the same RpcPeerEndpoint .
RpcPeerEndpoint
Bidirectional peer endpoint — can both send requests and handle incoming ones.
RpcPrimitiveMessage <T >
Base class for all primitive message types.
RpcRateLimiter
Rate-limiting interceptor for RpcResponderEndpoint .
RpcRawErrorDetail
An unknown/unrecognized error detail preserved as raw bytes.
RpcRemoved
Marks an inherited RPC method as removed in this contract version.
RpcResponderContract
Server-side contract that registers and handles methods.
RpcResponderEndpoint
Server-side RPC endpoint that handles incoming requests.
RpcResponderMethodBinding
Associates a method key with its codec or zero-copy registration.
RpcResponderMethodRegistry
Stores and manages registered contracts and their method bindings.
RpcResponderPingHandler
Handles incoming ping requests on the responder side.
RpcResponderStreamState
Mutable state for a single active responder stream.
RpcResponderStreamStore
Manages the set of active RpcResponderStreamState instances.
RpcRetryInfo
Tells the client how long to wait before retrying.
RpcRetryInterceptor
Interceptor that retries failed unary calls with backoff.
RpcSecurityPolicy
Centralized security/robustness limits for transports and parsers.
RpcService
Marks a service interface to generate caller/responder wrappers.
RpcStatus
Standard gRPC status codes.
RpcStreamIdManager
Stream ID manager for HTTP/2 connections.
RpcString
Wrapper for a string value.
RpcTransportMessage
Transport-layer message with Stream ID support.
RpcZeroCopyMethodRegistration <TRequest extends Object , TResponse extends Object >
Zero-copy method registration without IRpcSerializable bounds.
SamplingConfig
Per-level sampling configuration.
SamplingState
Runtime sampling state that tracks record counts per level within the current interval.
ServerStreamCaller <TRequest extends Object , TResponse extends Object >
Server-stream caller: codecs → serialized; no codecs → zero-copy (zero-copy transport only). Sends one request, receives a response stream.
ServerStreamResponder <TRequest extends Object , TResponse extends Object >
Server-stream responder: codecs → serialized; no codecs → zero-copy (zero-copy transport only). Handles one request and streams responses.
StreamProcessor <TRequest extends Object , TResponse extends Object >
Shared stream processor: zero-copy when no codecs (zero-copy transport required), otherwise serialized.
TypedData
A typed view of a sequence of bytes.
TypedDataList <E >
A TypedData fixed-length List -view on the bytes of buffer .
Uint16List
A fixed-length list of 16-bit unsigned integers that is viewable as a
TypedData .
Uint32List
A fixed-length list of 32-bit unsigned integers that is viewable as a
TypedData .
Uint64List
A fixed-length list of 64-bit unsigned integers that is viewable as a
TypedData .
Uint8ClampedList
A fixed-length list of 8-bit unsigned integers.
Uint8List
A fixed-length list of 8-bit unsigned integers.
UnaryCaller <TRequest , TResponse >
Unary client: sends one request, gets one response (per call stream ID).
UnaryResponder <TRequest , TResponse >
Unary responder with Stream ID support: handles one request, sends one response.