public ConnectionReceiver(IMessagePipeReader <ArraySegment <byte> > dataReader, IMessagePipeWriter dataAcceptedWriter, IBytesPool bytesPool, CancellationToken cancellationToken)
 {
     _dataReader         = dataReader;
     _dataAcceptedWriter = dataAcceptedWriter;
     _bytesPool          = bytesPool;
     _cancellationToken  = cancellationToken;
 }
 public ConnectionSender(int maxDataQueueSize, IMessagePipeWriter <ArraySegment <byte> > dataWriter, IActionListener dataAcceptedListener, IBytesPool bytesPool, CancellationToken cancellationToken)
 {
     _semaphoreSlim        = new SemaphoreSlim(maxDataQueueSize, maxDataQueueSize);
     _dataWriter           = dataWriter;
     _dataAcceptedListener = dataAcceptedListener;
     _dataAcceptedListener.Listen(() => _semaphoreSlim.Release()).AddTo(_disposables);
     _bytesPool         = bytesPool;
     _cancellationToken = cancellationToken;
 }