/// <summary> /// Initializes a new instance of the <see cref="MessageProcessingRpcReceive{TReceivedMessage}" /> class. /// </summary> /// <param name="configurationReceive">The configuration receive.</param> /// <param name="receiveMessagesFactory">The receive messages factory.</param> /// <param name="messageContextFactory">The message context factory.</param> /// <param name="messageHandler">The message handler.</param> /// <param name="rpcContextFactory">The RPC context factory.</param> /// <param name="commitMessage">The commit message.</param> public MessageProcessingRpcReceive( QueueConsumerConfiguration configurationReceive, IReceiveMessagesFactory receiveMessagesFactory, IMessageContextFactory messageContextFactory, IMessageHandlerRegistration messageHandler, IRpcContextFactory rpcContextFactory, ICommitMessage commitMessage) { Guard.NotNull(() => configurationReceive, configurationReceive); Guard.NotNull(() => receiveMessagesFactory, receiveMessagesFactory); Guard.NotNull(() => messageContextFactory, messageContextFactory); Guard.NotNull(() => messageHandler, messageHandler); Guard.NotNull(() => rpcContextFactory, rpcContextFactory); Guard.NotNull(() => commitMessage, commitMessage); _configurationReceive = configurationReceive; _receiveMessagesFactory = receiveMessagesFactory; _messageContextFactory = messageContextFactory; _messageHandler = messageHandler; _rpcContextFactory = rpcContextFactory; _commitMessage = commitMessage; void Action(IReceivedMessage <TReceivedMessage> message, IWorkerNotification worker) { } messageHandler.Set((Action <IReceivedMessage <TReceivedMessage>, IWorkerNotification>)Action); }
/// <summary> /// Registers the specified message action. /// </summary> /// <typeparam name="TMessage">The message type</typeparam> /// <param name="messageAction">The message action.</param> public void Register <TMessage>(Action <IReceivedMessage <TMessage>, IWorkerNotification> messageAction) where TMessage : class { Guard.NotNull(() => messageAction, messageAction); _messageHandlerRegistration.Set(messageAction); }