public ContingentAsyncMethods(Stream stream)
            {
                var factory = new StreamNativeAsyncFactory(stream, false);

                flushAsync = factory.CreateFlushAsyncMethod();
                readAsync  = factory.CreateReadAsyncMethod();
                writeAsync = factory.CreateWriteAsyncMethod();

                var copyToFactory = new StreamCopyToFactory(stream, factory);

                copyTo = copyToFactory.CreateStreamCopyToMethod();
                copyToWithCustomBufferSize = copyToFactory.CreateStreamCopyToWithCustomBufferSizeMethod();
                copyToAsync = copyToFactory.CreateStreamCopyToAsyncMethod();
                copyToAsyncWithCustomBufferSize = copyToFactory.CreateStreamCopyToAsyncWithCustomBufferSizeMethod();
            }
Example #2
0
        public static Task CopyToAsync(this Stream source, Stream destination, int bufferSize, CancellationToken cancellationToken)
        {
            var copyToAsync = new StreamCopyToFactory(source, true).CreateStreamCopyToAsyncWithCustomBufferSizeMethod();

            return(copyToAsync(destination, bufferSize, cancellationToken));
        }
Example #3
0
        public static Task CopyToAsync(this Stream source, Stream destination, CancellationToken cancellationToken)
        {
            var copyToAsync = new StreamCopyToFactory(source, true).CreateStreamCopyToAsyncMethod();

            return(copyToAsync(destination, cancellationToken));
        }
Example #4
0
        public static void CopyTo(this Stream source, Stream destination, int bufferSize)
        {
            var copyTo = new StreamCopyToFactory(source, false).CreateStreamCopyToWithCustomBufferSizeMethod();

            copyTo(destination, bufferSize);
        }
Example #5
0
        public static void CopyTo(this Stream source, Stream destination)
        {
            var copyTo = new StreamCopyToFactory(source, false).CreateStreamCopyToMethod();

            copyTo(destination);
        }