private IHandler CreateHandler(
     IMessageQueueFactory messageQueueFactory,
     IChaincodeSupportClientFactory chaincodeSupportClientFactory,
     IChaincodeStubFactory chaincodeStubFactory = null,
     IChaincode chaincode = null
     )
 {
     return(new global::Thinktecture.HyperledgerFabric.Chaincode.NET.Handler.Handler(
                chaincode ?? new Mock <IChaincode>().Object,
                "example.test",
                9999,
                chaincodeStubFactory ?? new Mock <IChaincodeStubFactory>().Object,
                new Mock <ILogger <global::Thinktecture.HyperledgerFabric.Chaincode.NET.Handler.Handler> >().Object,
                messageQueueFactory,
                chaincodeSupportClientFactory
                ));
 }
        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);
        }