Skip to content

Interface IMessagingBehaviorBinding

Namespace: Cephalon.Behaviors.Messaging.Abstractions
Assembly: Cephalon.Behaviors.Messaging.dll

Adapts a messaging transport to the ABT behavior dispatcher. Each transport variant (InMemory, RabbitMQ, Kafka, etc.) implements this interface and is registered in the .

public interface IMessagingBehaviorBinding

Gets the canonical transport identifier (e.g. “rabbitmq”, “kafka”, “in-memory”).

string TransportId { get; }

string

StartAsync(BehaviorTopologyDescriptor, BehaviorDispatcher, CancellationToken)

Section titled “ StartAsync(BehaviorTopologyDescriptor, BehaviorDispatcher, CancellationToken)”

Starts consuming messages for the given behavior topology and dispatches them. Called once per descriptor per transport; implementations should be idempotent.

Task StartAsync(BehaviorTopologyDescriptor descriptor, BehaviorDispatcher dispatcher, CancellationToken ct)

descriptor BehaviorTopologyDescriptor

The behavior topology descriptor.

dispatcher BehaviorDispatcher

The behavior dispatcher to invoke for each received message.

ct CancellationToken

A token that signals when the host is shutting down.

Task

A task that completes when the binding is fully started.

Stops the binding and releases transport resources.

Task StopAsync(CancellationToken ct)

ct CancellationToken

A token that cancels the graceful-stop wait.

Task

A task that completes when the binding has fully stopped.