Beispiel #1
0
 public Operation(IStreamProvider streamProvider, IStreamTransformer transformer, IStreamPersister persister)
 {
     if (streamProvider == null)
     {
         throw new ArgumentNullException(nameof(streamProvider));
     }
     if (transformer == null)
     {
         throw new ArgumentNullException(nameof(transformer));
     }
     if (persister == null)
     {
         throw new ArgumentNullException(nameof(persister));
     }
     _streamProvider = streamProvider;
     _transformer    = transformer;
     _persister      = persister;
 }
Beispiel #2
0
        async Task ProcessStreamCopyAsync(NetworkStream srcStream, NetworkStream dstStream, IStreamTransformer readTransformer, IStreamTransformer writeTransformer)
        {
            var count  = 0;
            var buffer = new byte[_bufferSize];

            do
            {
                try
                {
                    count = await srcStream.ReadAsync(buffer, 0, buffer.Length);

                    if (count == 0)
                    {
                        continue;
                    }

                    readTransformer?.Decode(buffer, 0, count);
                    writeTransformer?.Encode(buffer, 0, count);
                    await dstStream.WriteAsync(buffer, 0, count);
                }
                catch (Exception e)
                {
                    break;
                }
            } while (count > 0);
        }
 public void SetStreamTransformer(IStreamTransformer transformer)
 {
     //recieveStream = transformer.TransformInputStream(recieveStream);
     //sendStream = transformer.TransformOutputStream(sendStream);
 }
 public void SetStreamTransformer(IStreamTransformer transformer)
 {
     throw new NotImplementedException();
 }
 public void SetStreamTransformer(IStreamTransformer transformer)
 {
     throw new NotImplementedException();
 }
Beispiel #6
0
 public void Release(IStreamTransformer streamTransformer)
 {
 }
 public void SetStreamTransformer(IStreamTransformer transformer)
 {
     //recieveStream = transformer.TransformInputStream(recieveStream);
     //sendStream = transformer.TransformOutputStream(sendStream);
 }