Table of Contents

Namespace IceRpc

The core of the IceRPC framework and various extensions for this core.

Classes

ClientConnection

Represents a client connection used to send requests to a server and receive the corresponding responses.

ClientConnectionOptions

Represents a property bag used to configure a ClientConnection.

ClientProtocolConnectionFactory

Default implementation of IClientProtocolConnectionFactory.

CompressionFormatByteExtensions

Provides an extension method for creating a CompressionFormat from a byte.

CompressionFormatSliceDecoderExtensions

Provides an extension method for decoding a CompressionFormat using a SliceDecoder.

CompressionFormatSliceEncoderExtensions

Provides an extension method for encoding a CompressionFormat using a SliceEncoder.

CompressorPipelineExtensions

Provides an extension method for Pipeline to add the compressor interceptor.

CompressorRouterExtensions

Provides an extension method for Router to add the compressor middleware.

ConnectionCache

Represents an invoker that routes outgoing requests to connections it manages.

ConnectionCacheOptions

Represents a property bag used to configure a ConnectionCache.

ConnectionOptions

Represents a property bag used to configure client and server connections.

DeadlinePipelineExtensions

Provides extension methods for Pipeline to add the deadline interceptor.

DeadlineRouterExtensions

Provides an extension method for Router to add the deadline middleware.

DefaultServicePathAttribute

Assigns a default service path to an interface.

DispatchException

Represents an exception thrown while dispatching a request. It's encoded as a response with a status code greater than Ok.

FeaturePipelineExtensions

Provides an extension method for Pipeline to add an interceptor that sets a feature in all requests.

FieldsExtensions

Provides extension method for field dictionaries.

IceRpcException

The IceRPC core and built-in invokers, dispatchers (including built-in middleware and interceptors) report errors by throwing this exception.

IncomingFrame

Represents the base class for incoming frames.

IncomingFrameExtensions

Provides an extension method for IncomingFrame to detach its payload.

IncomingRequest

Represents a request frame received by the application.

IncomingResponse

Represents a response frame received by the application.

InlineDispatcher

Adapts a function to the IDispatcher interface.

InlineInvoker

Adapts a function to the IInvoker interface.

InvalidInvoker

Implements the IInvoker interface by always throwing InvalidOperationException.

LocatorPipelineExtensions

Provides extension methods for Pipeline to add the locator interceptor.

LoggerPipelineExtensions

Provides an extension method for Pipeline to add the logger interceptor.

LoggerRouterExtensions

Provides an extension method for Router to add the logger middleware.

MetricsPipelineExtensions

Provides an extension method for Pipeline to add the metrics interceptor.

MetricsRouterExtensions

Provides an extension method for Router to add the metrics middleware.

OutgoingFrame

Represents the base class for outgoing frames.

OutgoingRequest

Represents a request frame sent by the application.

OutgoingResponse

Represents a response frame sent by the application.

Pipeline

A pipeline is an invoker created from zero or more interceptors installed by calling Use(Func<IInvoker, IInvoker>), and a final invoker installed by calling Into(IInvoker). Requests using this pipeline flow through the interceptors into the final invoker. The final invoker then sends the request over a connection.

Protocol

Represents an RPC protocol supported by IceRPC.

RequestContextPipelineExtensions

Provides an extension method for Pipeline to add the request context interceptor.

RequestContextRouterExtensions

Provides an extension method for Router to add the request context middleware.

RequestFieldKeySliceDecoderExtensions

Provides an extension method for decoding a RequestFieldKey using a SliceDecoder.

RequestFieldKeySliceEncoderExtensions

Provides an extension method for encoding a RequestFieldKey using a SliceEncoder.

RequestFieldKeyUlongExtensions

Provides an extension method for creating a RequestFieldKey from an ulong.

ResettablePipeReaderDecorator

Represents a PipeReader decorator that doesn't consume the data from the decoratee to allow reading again this data from the beginning after being reset.

ResponseFieldKeySliceDecoderExtensions

Provides an extension method for decoding a ResponseFieldKey using a SliceDecoder.

ResponseFieldKeySliceEncoderExtensions

Provides an extension method for encoding a ResponseFieldKey using a SliceEncoder.

ResponseFieldKeyUlongExtensions

Provides an extension method for creating a ResponseFieldKey from an ulong.

RetryPipelineExtensions

Provides extension methods for Pipeline to add the retry interceptor.

Router

Provides methods for routing incoming requests to dispatchers.

RouterExtensions

Provides extension methods for Router.

Server

A server accepts connections from clients and dispatches the requests it receives over these connections.

ServerAddressComparer

Equality comparer for ServerAddress.

ServerAddressTypeConverter

The server address type converter specifies how to convert a string to a serverAddress. It's used by sub-systems such as the Microsoft ConfigurationBinder to bind string values to ServerAddress properties.

ServerOptions

Represents a property bag used to configure a Server.

ServiceAddress

Represents the URI of a service, parsed and processed for easier consumption by invokers. It's used to construct an OutgoingRequest.

ServiceAddressTypeConverter

The service address type converter specifies how to convert a string to a service address. It's used by sub-systems such as the Microsoft ConfigurationBinder to bind string values to ServiceAddress properties.

StatusCodeSliceDecoderExtensions

Provides an extension method for decoding a StatusCode using a SliceDecoder.

StatusCodeSliceEncoderExtensions

Provides an extension method for encoding a StatusCode using a SliceEncoder.

StatusCodeUlongExtensions

Provides an extension method for creating a StatusCode from an ulong.

TelemetryPipelineExtensions

Provides an extension method for Pipeline to add the telemetry interceptor.

TelemetryRouterExtensions

Provides an extension method for Router to add the telemetry middleware.

TypeExtensions

Provides extension methods for Type.

Structs

OutgoingFieldValue

Represents the value of a field that is about to be sent. It's a kind of discriminated union: only one of the struct's properties can be set.

ServerAddress

A server address specifies the address of the server-end of an ice or icerpc connection: a server listens on a server address and a client establishes a connection to a server address.

Interfaces

IClientProtocolConnectionFactory

Represents a factory for client protocol connections.

IConnectionContext

Provides access to properties of the connection that received a request or response.

IDispatcher

A dispatcher accepts incoming requests and returns outgoing responses.

IInvoker

An invoker sends outgoing requests and returns incoming responses.

IProtocolConnection

Represents a connection for a Protocol. It is the building block for ClientConnection, ConnectionCache and the connections created by Server. Applications can use this interface to build their own custom client connection and connection cache classes.

Enums

CompressionFormat

The compression format of a payload.

IceRpcError

The errors carried by an IceRpcException.

ProtocolEventIds

Provides event ID constants used for the logging of protocol-related events.

RequestFieldKey

The keys of fields carried by icerpc request headers.

ResponseFieldKey

The keys of fields carried by icerpc response headers.

StatusCode

The status code indicates whether the dispatch of a request has completed successfully, and, if not, which error occurred. It's carried by responses.