Namespace Silverback.Messaging.Subscribers.ArgumentResolvers
Classes
DefaultAdditionalArgumentResolver
Simply tries to resolve the additional parameters of the subscribed methods using the IServiceProvider.
ObservableStreamMessageArgumentResolver
Resolves the parameters declared as IMessageStreamObservable<TMessage> where
TMessage
is compatible with the type of the message being published.
SingleMessageArgumentResolver
Resolves the parameters declared with a type that is compatible with the type of the message being published.
StreamEnumerableMessageArgumentResolver
Resolves the parameters declared as IMessageStreamEnumerable<TMessage> where
TMessage
is compatible with the type of the message being published.
Interfaces
IAdditionalArgumentResolver
These resolvers are used to try to get a value for the additional parameters (other than the message itself) of the subscribed methods.
IArgumentResolver
Used as base for the more specialized IMessageArgumentResolver and IAdditionalArgumentResolver.
ILazyArgumentValue
Represent a value for an argument that will be available in the future.
IMessageArgumentResolver
These resolvers are used to cast or transform the message parameter to be forwarded to the subscribed method.
ISingleMessageArgumentResolver
These resolvers are used to handle the single message parameter (the pure message, not wrapped in any enumerable or collection).
IStreamEnumerableMessageArgumentResolver
These resolvers are used to handle the message streams such as IMessageStreamEnumerable<TMessage>. The streams are basically handled as a single message by the publisher. The difference is that it is guaranteed that the subscribers are invoked from another thread, when published via PublishAsync(object)/ PublishAsync<TResult>(object). This is done to avoid blocking the original thread waiting for the stream to complete.