Table of Contents

Namespace AWS.Messaging.Services

Classes

DefaultMessageJsonSerializerContextContainer

The default implementation of IMessageJsonSerializerContextContainer when a user provides the library a JsonSerializerContext to use for serializing/deserializing their types.

DefaultMessageManager

Instances of IMessageManager manage the lifecycle of a message being processed.

HandlerInvoker

Identifies and invokes the correct method on a registered IMessageHandler<T> for received messages

NullMessageJsonSerializerContextContainer

Placeholder implementation of IMessageJsonSerializerContextContainer when the consumer does not provide a JsonSerializerContext.

Interfaces

ICommandPublisher

This interface allows sending messages from application code to recipient-specific Amazon services. It exposes the SendAsync<T>(T, CancellationToken) method which takes in a user-defined message to send to a recipient-specific Amazon service.

IDateTimeHandler

Interface that exposes methods dealing with DateTime

IEventPublisher

This interface allows publishing messages from application code to event-based Amazon services. It exposes the PublishAsync<T>(T, CancellationToken) method which takes in a user-defined message to publish to an event-based Amazon service.

IHandlerInvoker

Identifies and invokes the correct method on a registered IMessageHandler<T> for received messages

IMessageIdGenerator

This interface provides the functionality to generate a unique message ID.

IMessageJsonSerializerContextContainer

Container for the JsonSerializerContext provided by users of the library. The JsonSerializerContext is used when ever serializing/deserializing any of the .NET types consumers use to represent the messages.

IMessageManager

Instances of IMessageManager manage the lifecycle of a message being processed.

IMessageManagerFactory

Factory for creating instances of IMessageManager. Users that want to use a custom IMessageManager can inject into the Microsoft.Extensions.DependencyInjection.IServiceCollection their own implementation of IMessageManagerFactory to construct a custom IMessageManager instance.

IMessagePoller

Instances of IMessagePoller handle polling for messages from the underlying AWS service. Once messages are received from the underlying service they are deserialized into MessageEnvelope<T>; and handed off to the IMessageManager for processing.

The IMessagePoller abstracts around the underlying service and also provides the utility methods used for adjusting the message's lifecycle.

IMessagePollerFactory

Factory for creating instances of IMessagePoller. Users that want to use a custom IMessagePoller can inject into the Microsoft.Extensions.DependencyInjection.IServiceCollection their own implementation of IMessagePollerFactory to construct a custom IMessagePoller instance.