Table of Contents

Namespace Nerdbank.JsonRpc.BrokeredServices

Classes

BrokeredServiceConnection

Pairs an activated service channel with that activation's actual capabilities.

BrokeredServiceContainer

A programmatic, host-extensible container for per-client service activation.

BrokeredServiceContainer.ServiceOffering

Describes a host-discovered implementation without registration policy.

BrokeredServiceContainerExtensions

Simplifies proffering strongly typed factories that do not need the full activation context.

BrokeredServiceUnavailableException

Indicates that a stable proxy currently has no available backing service.

BrokeredServicesChangedEventArgs

Describes services whose availability may have changed.

FrameworkServices

Describes broker infrastructure contracts shared by both peers.

IpcRelayServiceBroker

Relays a local broker through cancellable, single-client same-account IPC endpoints.

JsonRpcDescriptor

Describes immutable settings shared by independent service connections.

JsonRpcDescriptorExtensions

Provides generated-shape resolution on legacy targets.

JsonRpcDescriptor<T>

A descriptor that captures the primary service shape and generated proxy support.

JsonRpcMessagePackDescriptor

Captures generated contracts for MessagePack service connections.

JsonRpcMessagePackDescriptor<T>

Describes a service connection using MessagePack.

JsonRpcUtf8Descriptor

Captures generated contracts for UTF-8 JSON service connections.

JsonRpcUtf8DescriptorExtensions

Provides generated-shape resolution for UTF-8 JSON descriptors on legacy targets.

JsonRpcUtf8Descriptor<T>

Describes a service connection using UTF-8 JSON.

MultiplexingRelayServiceBroker

Relays brokered services over channels on a caller-owned multiplexing stream.

RemoteServiceBroker

Adapts a remote broker control contract to typed local service acquisition.

RemoteServiceConnectionInfo

Describes an allocated, single-client service channel.

ResilientServiceProxyChangedEventArgs

Reports the result of a backing-service refresh.

ResilientServiceProxy<T>

Owns a stable generated proxy that replaces backing services without replaying calls.

ServiceBrokerAggregator

Queries brokers in priority order, falling through only when a service is unavailable.

ServiceBrokerClient

Caches service proxies while allowing independent rentals to outlive invalidation.

ServiceBrokerClient.Rental<T>

A reference-counted rental whose disposal never invalidates other rentals.

ServiceBrokerExtensions

Provides resilient service acquisition for service brokers.

ServiceInterface

Captures one additional service contract and its generated registration support.

ServiceInterface<T>

Captures an optional or callback contract without erasing its interface type.

ServiceMoniker

Identifies a service contract independently of its location or implementation.

ServiceProxyContext

Supplies a leased service target and local invocation boundary policy.

ServiceRegistration

Declares a service identity, exposure policy, supported optional contracts, and optional loader.

ServiceRpcContext

Provides live infrastructure for one service RPC connection, independently of a descriptor record.

Structs

RemoteServiceActivationOptions

Contains activation data that can cross a broker control connection.

ServiceActivationOptions

Describes one service activation. This data does not authenticate or authorize a caller.

ServiceProxyLease

Keeps one service generation alive for an invocation.

Interfaces

IBrokeredServiceContainer

Publishes service implementations through a broker.

IJsonRpcDescriptor

Describes a service's wire contract and constructs its server connection.

IJsonRpcDescriptor<T>

Defines generated construction support for a service proxy.

IRemoteServiceBroker

Exposes discovery and service-channel allocation over RPC.

IResilientServiceProxy

Provides lifecycle and availability information for a stable service proxy.

IServiceBroker

Activates services by contract, without exposing where they are implemented.

Enums

RemoteServiceConnections

Identifies supported service connection transports.

ResilientServiceProxyChangeKind

Describes one mutually exclusive backing-service transition.

ServiceAudience

Identifies the clients permitted to access a service.

Delegates

BrokeredServiceFactory<T>

Activates a new service instance for one client.

BrokeredServiceLoader

Loads service implementation code and proffers its factory on demand.