public CalculatorDuplexStreamHandler(ICalculatorDuplexCallbackContractFactory callbackContractFactory, IAsyncStreamReader <Protos.CalculatorDuplexAction> requestStream, IServerStreamWriter <Protos.CalculatorDuplexCallback> responseStream, ILogger logger)
 {
     _requestStream      = requestStream;
     _responseStream     = responseStream;
     _logger             = logger;
     _pendingCompletions = new PendingCompletionStore(TimeSpan.FromMinutes(1));
     _callback           = new CalculatorDuplexCallbackImplementation(_responseStream, _pendingCompletions);
     _contract           = callbackContractFactory.Create(_callback);
 }
 public CalculatorDuplex(ICalculatorDuplexCallbackContractFactory callbackContractFactory, ILogger <CalculatorDuplex> logger)
 {
     _callbackContractFactory = callbackContractFactory;
     _logger = logger;
 }