Table of Contents

Class MessageBrokerChannelListenerBinding

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

Represents a message broker channel binding for a listener, which allows clients to listen to messages published through channels.

public sealed class MessageBrokerChannelListenerBinding
Inheritance
MessageBrokerChannelListenerBinding
Inherited Members

Properties

AreAcksEnabled

Specifies whether the Client is expected to send ACK or negative ACK to the Queue in order to confirm message notification.

public bool AreAcksEnabled { get; }

Property Value

bool

Channel

MessageBrokerChannel instance to which the Client is bound to as a listener.

public MessageBrokerChannel Channel { get; }

Property Value

MessageBrokerChannel

Client

MessageBrokerRemoteClient instance to which this listener belongs to.

public MessageBrokerRemoteClient Client { get; }

Property Value

MessageBrokerRemoteClient

DeadLetterCapacityHint

Specifies how many messages intended for this listener can be stored at most by the Queue's dead letter. Actual capacity may be different due to the state of the Queue and other listeners bound to it.

public int DeadLetterCapacityHint { get; }

Property Value

int

FilterExpression

Specifies message filter expression.

public string? FilterExpression { get; }

Property Value

string

IsEphemeral

Specifies whether the listener is ephemeral.

public bool IsEphemeral { get; }

Property Value

bool

MaxRedeliveries

Specifies how many times the Queue will attempt to automatically send a message notification redelivery when the Client fails to respond with either an ACK or a negative ACK in time (see MinAckTimeout), before giving up.

public int MaxRedeliveries { get; }

Property Value

int

MaxRetries

Specifies how many times the Queue will attempt to automatically send a message notification retry when the Client responds with a negative ACK, before giving up.

public int MaxRetries { get; }

Property Value

int

MinAckTimeout

Specifies the minimum amount of time that the Queue will wait for the Client to send either an ACK or a negative ACK before attempting a message notification redelivery. Actual ACK timeout may be different due to the state of the Queue and other listeners bound to it.

public Duration MinAckTimeout { get; }

Property Value

Duration

MinDeadLetterRetention

Specifies the minimum retention period for messages intended for this listener stored in the Queue's dead letter. Actual retention period may be different due to the state of the Queue and other listeners bound to it.

public Duration MinDeadLetterRetention { get; }

Property Value

Duration

PrefetchHint

Specifies how many messages intended for this listener can be sent by the Queue to the Client at the same time.

public int PrefetchHint { get; }

Property Value

int

Queue

MessageBrokerQueue instance to which messages intended for this listener get enqueued into.

public MessageBrokerQueue Queue { get; }

Property Value

MessageBrokerQueue

RetryDelay

Specifies the delay between the Queue successfully processing negative ACK sent by the Client and the Queue sending a message notification retry.

public Duration RetryDelay { get; }

Property Value

Duration

State

Current listener's state.

public MessageBrokerChannelListenerBindingState State { get; }

Property Value

MessageBrokerChannelListenerBindingState

Remarks

See MessageBrokerChannelListenerBindingState for more information.

Methods

DeleteAsync()

Deletes this listener 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.

MessageBrokerRemoteClientException

When this listener is in Created state.

ToString()

Returns a string representation of this MessageBrokerChannelListenerBinding instance.

[Pure]
public override string ToString()

Returns

string

String representation.