Exemplo n.º 1
0
        public int EndRead(IAsyncResult asyncResult, bool leaveInUse = false)
        {
            int i = RealStream.EndRead(asyncResult);

            InUse = leaveInUse;
            return(i);
        }
Exemplo n.º 2
0
        public int Read([In, Out] byte[] array, int offset, int count)
        {
            int i;

            if (count <= (int)512)  //DataBlockSize.Minimum)
            {
                i = RealStream.Read(array, offset, count);
            }
            else
            {
                IAsyncResult iar = RealStream.BeginRead(array, offset, count, null, null);
                if (!iar.IsCompleted)
                {
                    iar.AsyncWaitHandle.WaitOne();
                }
                i = RealStream.EndRead(iar);
            }
            InUse = false;
            return(i);
        }