Table of Contents

Namespace DotCompute.Abstractions.Messaging

Classes

AggregationOptions

Configuration options for message aggregation.

BatchFlushedEventArgs

Event arguments for batch flushed events.

BatchingOptions

Configuration options for message batching.

CorrelationContext<TResponse>

Represents a pending correlation context for a request awaiting a response.

CorrelationTimeoutEventArgs

Event arguments for request timeout events.

CorrelationTimeoutException

Exception thrown when a correlated request times out.

DeadLetterEntry

Represents an entry in the dead letter queue.

DeadLetterEventArgs

Event arguments for dead letter events.

DeadLetterQueueOptions

Configuration options for the dead letter queue.

DeadLetterStatistics

Statistics for a dead letter queue.

DefaultMessageSerializer<T>

Default binary serializer for IRingKernelMessage types.

MemoryPackMessageSerializer<T>

High-performance MemoryPack serializer for IRingKernelMessage types.

MessageBatch

Represents a batch of messages ready for transmission.

MessageDiagnostics

Diagnostic utilities for debugging Ring Kernel message serialization.

MessageEnvelope<TMessage>

Wraps a message with TTL metadata without requiring the message to implement IExpirableMessage.

MessageExpiredEventArgs

Event arguments for message expiration events.

MessageQueueOptions

Configuration options for Ring Kernel message queues.

P2PMessageQueueOptions

Options for configuring a P2P message queue.

P2PQueueStatistics

Statistics for a P2P message queue.

Structs

BatchedMessageInfo

Information about a single message within a batch.

P2PBatchReceiveResult<T>

Result of a P2P batch receive operation.

P2PBatchSendResult

Result of a P2P batch send operation.

P2PReceiveResult<T>

Result of a P2P receive operation.

P2PSendResult

Result of a P2P send operation.

Interfaces

ICorrelationContextBase

Non-generic base interface for correlation contexts. Used internally to avoid reflection in Native AOT scenarios.

ICorrelationManager

Manages correlation between request and response messages. Tracks pending requests and provides timeout handling.

IDeadLetterQueue

Stores messages that could not be processed successfully.

IDeadLetterQueueFactory

Factory for creating dead letter queues.

IExpirableMessage

Represents a message that supports Time-To-Live (TTL) expiration.

IMessageAggregatorFactory

Factory for creating message aggregators.

IMessageAggregator<TResult>

Aggregates responses from multiple requests into a single result.

IMessageBatcher

Batches multiple messages together for efficient transmission and processing.

IMessageQueue

Non-generic base interface for message queues (used for reflection).

IMessageQueue<T>

Thread-safe message queue for Ring Kernel actor communication.

IMessageSerializer<T>

Provides serialization and deserialization for IRingKernelMessage types.

IMessageTtlManager

Manages message TTL enforcement and expiration handling.

IP2PMessageQueue<T>

Represents a peer-to-peer message queue for multi-GPU communication.

IRequestMessage<TResponse>

Marker interface for request messages that expect a response.

IResponseMessage

Marker interface for response messages.

IRingKernelMessage

Base interface for type-safe messages exchanged between Ring Kernels.

Enums

BackpressureStrategy

Defines strategies for handling backpressure when a message queue is full.

BatchFlushReason

Reason why a batch was flushed.

DeadLetterReason

Reason why a message was sent to the dead letter queue.

P2PBackpressureStrategy

Backpressure strategies for P2P message queues.

P2PTransferMode

Transfer modes for P2P message queues.