public static void QueueWrite(Stream stream, byte[] data, long fileOffset, int dataOffset, long length, DiskIOWriteCallback callback, object state) { while(WriteQueue.Count > MaxPendingOps) Thread.Sleep(10); DiskIOWriteState writeData = WriteCache.Get().Init(stream, data, fileOffset, dataOffset, length, callback, state); WriteQueue.Enqueue(writeData); if(WriteQueue.Count>MinPendingOps) IOHandle.Set(); }
public DiskIOWriteState Init(Stream stream, byte[] data, long fileOffset, int dataOffset, long length, DiskIOWriteCallback callback, object state) { Stream = stream; FileOffset = fileOffset; DataOffset = dataOffset; Length = length; Data = data; Callback = callback; State = state; return(this); }
public DiskIOWriteState Init(Stream stream, byte[] data, long fileOffset, int dataOffset, long length, DiskIOWriteCallback callback, object state) { Stream = stream; FileOffset = fileOffset; DataOffset = dataOffset; Length = length; Data = data; Callback = callback; State = state; return this; }
public static void QueueWrite(Stream stream, byte[] data, long fileOffset, int dataOffset, long length, DiskIOWriteCallback callback, object state) { while (WriteQueue.Count > MaxPendingOps) { Thread.Sleep(10); } DiskIOWriteState writeData = WriteCache.Get().Init(stream, data, fileOffset, dataOffset, length, callback, state); WriteQueue.Enqueue(writeData); if (WriteQueue.Count > MinPendingOps) { IOHandle.Set(); } }