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 CalculatorDuplexCallbackImplementation(IServerStreamWriter <Protos.CalculatorDuplexCallback> stream, PendingCompletionStore pendingCompletions)
 {
     _stream             = stream;
     _pendingCompletions = pendingCompletions;
 }