Ejemplo n.º 1
0
        public void StartWriting(Func <Stream, Task> copyTo)
        {
            var task = Task.Run(async delegate {
                await copyTo(_stream);
                _stream.CompleteWriting();
            });

            _tasksToAwait.Add(task);
        }
Ejemplo n.º 2
0
        private Task CopyFrom(SimplexStream stream)
        {
            var task = Task.Run(async delegate {
                Console.WriteLine("Starting Read!");
                var source = new FileStream("C:\\temp\\LibreOffice_4.2.0_Win_x86.msi", FileMode.Open);
                await source.CopyToAsync(stream);
                stream.CompleteWriting();
            });

            return(task);
        }
Ejemplo n.º 3
0
        public async Task Copy()
        {
            var sourceStream = new SimplexStream();
            var tc           = CopyFrom(sourceStream);

            var targetStream = new SimplexStream();
            var td           = CopyTo(targetStream);

            Console.WriteLine("Copy in between");

            await sourceStream.CopyToAsync(targetStream);

            targetStream.CompleteWriting();

            await Task.WhenAll(tc, td);
        }