Table of Contents

Class MessageBrokerRemoteClient

Namespace
LfrlAnvil.MessageBroker.Server
Assembly
LfrlAnvil.MessageBroker.Server.dll

Represents a remote message broker client.

public sealed class MessageBrokerRemoteClient
Inheritance
MessageBrokerRemoteClient
Inherited Members

Properties

ClearBuffers

Specifies whether to clear internal buffers once the server is done using them.

public bool ClearBuffers { get; }

Property Value

bool

Id

Client's unique identifier assigned by the server.

public int Id { get; }

Property Value

int

IsEphemeral

Specifies whether the client is ephemeral.

public bool IsEphemeral { get; }

Property Value

bool

IsLittleEndian

Indicates client's endianness.

public bool IsLittleEndian { get; }

Property Value

bool

Listeners

Collection of MessageBrokerChannelListenerBinding instances attached to this client, identified by channel ids.

public MessageBrokerRemoteClientListenerCollection Listeners { get; }

Property Value

MessageBrokerRemoteClientListenerCollection

LocalEndPoint

The local EndPoint that this client is using for communications with the remote client.

public EndPoint? LocalEndPoint { get; }

Property Value

EndPoint

MaxBatchPacketCount

Max acceptable batch packet count.

public short MaxBatchPacketCount { get; }

Property Value

short

MaxNetworkBatchPacketLength

Max acceptable network batch packet length.

public MemorySize MaxNetworkBatchPacketLength { get; }

Property Value

MemorySize

Remarks

Represents max possible length for packets of Batch type. Value will be initialised during handshake with the remote client.

MessageTimeout

Send or receive message timeout.

public Duration MessageTimeout { get; }

Property Value

Duration

Name

Client's unique name.

public string Name { get; }

Property Value

string

PingInterval

Send ping interval.

public Duration PingInterval { get; }

Property Value

Duration

Publishers

Collection of MessageBrokerChannelPublisherBinding instances attached to this client, identified by channel ids.

public MessageBrokerRemoteClientPublisherCollection Publishers { get; }

Property Value

MessageBrokerRemoteClientPublisherCollection

Queues

Collection of MessageBrokerQueue instances attached to this client, identified by their names.

public MessageBrokerRemoteClientQueueCollection Queues { get; }

Property Value

MessageBrokerRemoteClientQueueCollection

RemoteEndPoint

The remote IPEndPoint of the remote client to which this client connects to.

public EndPoint? RemoteEndPoint { get; }

Property Value

EndPoint

Server

MessageBrokerServer instance to which this client belongs to.

public MessageBrokerServer Server { get; }

Property Value

MessageBrokerServer

State

Current client's state.

public MessageBrokerRemoteClientState State { get; }

Property Value

MessageBrokerRemoteClientState

Remarks

See MessageBrokerRemoteClientState for more information.

SynchronizeExternalObjectNames

Specifies whether synchronisation of external object names is enabled.

public bool SynchronizeExternalObjectNames { get; }

Property Value

bool

Methods

DeleteAsync()

Deletes this client from the server.

public ValueTask DeleteAsync()

Returns

ValueTask

A task that represents the asynchronous delete operation.

Exceptions

MessageBrokerServerException

When server is in Created or Starting state.

DisconnectAsync()

Disconnects this client from the server.

public ValueTask DisconnectAsync()

Returns

ValueTask

A task that represents the asynchronous disconnect operation.

ToString()

Returns a string representation of this MessageBrokerRemoteClient instance.

[Pure]
public override string ToString()

Returns

string

String representation.