/// <summary> /// Initializes a new instance of the <see cref="JobQueue"/> class /// </summary> /// <param name="queueFactory">Factory for creating the queue</param> /// <param name="messageFactory">Factory for creating new messages</param> /// <param name="formatter">Formatter for formatting payloads</param> /// <param name="serializer">Serializer for serializing requests</param> /// <param name="handlerConfiguration">Configuration creating handlers (used to copy into a <see cref="QueueCreationOptions"/> object</param> public JobQueue( IMessageQueueFactory queueFactory, IMessageFactory messageFactory, IPayloadFormatter formatter, IRequestSerializer serializer, HandlerConfiguration handlerConfiguration) { if (handlerConfiguration == null) { throw new ArgumentNullException(nameof(handlerConfiguration)); } _messageQueueFactory = queueFactory ?? throw new ArgumentNullException(nameof(queueFactory)); _messageFactory = messageFactory ?? throw new ArgumentNullException(nameof(messageFactory)); _formatter = formatter ?? throw new ArgumentNullException(nameof(formatter)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _queue = _messageQueueFactory.Create(handlerConfiguration.ToQueueCreationOptions()); _queue.ReceivedMessage += OnReceivedJob; }
public Handler( IChaincode chaincode, string host, int port, IChaincodeStubFactory chaincodeStubFactory, ILogger <Handler> logger, IMessageQueueFactory messageQueueFactory, IChaincodeSupportClientFactory chaincodeSupportClientFactory ) { _chaincode = chaincode; _chaincodeStubFactory = chaincodeStubFactory; _logger = logger; // TODO: Secure channel? _client = chaincodeSupportClientFactory.Create(new Channel(host, port, ChannelCredentials.Insecure, new List <ChannelOption> { new ChannelOption("request-timeout", 30000) })); _messageQueue = messageQueueFactory.Create(this); }