Interface 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.
Namespace: Silverback.Messaging.Subscribers.ArgumentResolvers
Assembly: Silverback.Core.dll
Syntax
public interface IStreamEnumerableMessageArgumentResolver : IMessageArgumentResolver, IArgumentResolver
Methods
| Improve this doc View sourceGetValue(IMessageStreamProvider, Type, IReadOnlyCollection<IMessageFilter>?)
Returns the messages stream in a shape that is compatible with the subscribed method.
Declaration
ILazyArgumentValue GetValue(IMessageStreamProvider streamProvider, Type targetMessageType, IReadOnlyCollection<IMessageFilter>? filters = null)
Parameters
Type | Name | Description |
---|---|---|
IMessageStreamProvider | streamProvider | The IMessageStreamProvider being published. |
Type | targetMessageType | The actual message type being declared by the subscribed method (e.g. |
IReadOnlyCollection<IMessageFilter> | filters | The filters to be applied. |
Returns
Type | Description |
---|---|
ILazyArgumentValue | The actual value to be forwarded to the subscribed method. |