Пример #1
0
        public static void QueueRead(Stream stream, byte[] buffer, int bufferOffset, long streamOffset, long length,
                                     DiskIOReadCallback callback, object state)
        {
            while (ReadQueue.Count > MaxPendingOps)
                Thread.Sleep(10);

            DiskIOReadState readData = ReadCache.Get().Init(stream, buffer, bufferOffset, streamOffset, length, callback,
                                                            state);
            ReadQueue.Enqueue(readData);
            if (ReadQueue.Count > MinPendingOps) IOHandle.Set();
        }
Пример #2
0
 public DiskIOReadState Init(Stream stream, byte[] buffer, int bufferOffset, long streamOffset, long length,
                             DiskIOReadCallback callback, object state)
 {
     Stream       = stream;
     BufferOffset = bufferOffset;
     StreamOffset = streamOffset;
     Length       = length;
     Callback     = callback;
     State        = state;
     Buffer       = buffer;
     return(this);
 }
Пример #3
0
        public static void QueueRead(Stream stream, byte[] buffer, int bufferOffset, long streamOffset, long length,
                                     DiskIOReadCallback callback, object state)
        {
            while (ReadQueue.Count > MaxPendingOps)
            {
                Thread.Sleep(10);
            }

            DiskIOReadState readData = ReadCache.Get().Init(stream, buffer, bufferOffset, streamOffset, length, callback,
                                                            state);

            ReadQueue.Enqueue(readData);
            if (ReadQueue.Count > MinPendingOps)
            {
                IOHandle.Set();
            }
        }
Пример #4
0
 public DiskIOReadState Init(Stream stream, byte[] buffer, int bufferOffset, long streamOffset, long length,
                             DiskIOReadCallback callback, object state)
 {
     Stream = stream;
     BufferOffset = bufferOffset;
     StreamOffset = streamOffset;
     Length = length;
     Callback = callback;
     State = state;
     Buffer = buffer;
     return this;
 }