예제 #1
0
        public async Task AwaitFlowControl()
        {
            MemoryStream mem = await ReceiveBytes.AwaitFlowResult() as MemoryStream;

            byte[] raw = mem.ToArray();
            Result = Encoding.GetString(raw);
        }
예제 #2
0
 public ReceiveBytesStream(IDocument doc, ReceiveBytes <Stream> internalReceive, Func <Task <IEnumerable <Stream> > > parallelWriteFactory = null)
 {
     if (parallelWriteFactory == null)
     {
         parallelWriteFactory = () => Task.FromResult(EMPTY_PARALLEL_WRITE_STREAMS);
     }
     ParallelWriteFactory = parallelWriteFactory;
     Document             = doc;
     lock (BufferPool) {
         ByteBuffer = BufferPool.Where(x => !x.Value).Select(x => x.Key).FirstOrDefault();
         if (ByteBuffer == null)
         {
             ByteBuffer = new List <byte>();
             BufferPool.Add(ByteBuffer, true);
         }
     }
     InternalReceive = internalReceive;
 }
예제 #3
0
 public ReceiveNumber(ReceiveBytes receiveBytes)
 {
     ReceiveBytes = receiveBytes;
 }
예제 #4
0
 public ReceiveString(ReceiveBytes receiveBytes, Encoding encoding = null)
 {
     ReceiveBytes = receiveBytes;
     Encoding     = encoding != null ? encoding : Encoding.ASCII;
     Result       = null;
 }