Example #1
0
            public PendingIORequest Dequeue()
            {
                Debug.Assert(this.hasPendingRequests, "Can't dequeue from an empty queue");

                PendingIORequest result = this.nextRequest;

                if ((this.pendingRequests != null) && (this.pendingRequests.Count > 0))
                {
                    this.nextRequest = this.pendingRequests.Dequeue();
                }
                else
                {
                    this.hasPendingRequests = false;
                }
                return(result);
            }
Example #2
0
            public void Enqueue(byte[] buffer, int offset, int count, IIORequestEventsHandler eventsHandler)
            {
                eventsHandler.OnEnquing();

                if (this.hasPendingRequests)
                {
                    if (this.pendingRequests == null)
                    {
                        this.pendingRequests = new Queue <PendingIORequest>();
                    }
                    this.pendingRequests.Enqueue(new PendingIORequest(buffer, offset, count, eventsHandler));
                }
                else
                {
                    this.nextRequest        = new PendingIORequest(buffer, offset, count, eventsHandler);
                    this.hasPendingRequests = true;
                }
            }
Example #3
0
            public PendingIORequest Dequeue()
            {
                Debug.Assert(this.hasPendingRequests, "Can't dequeue from an empty queue");

                PendingIORequest result = this.nextRequest;
                if ((this.pendingRequests != null) && (this.pendingRequests.Count > 0))
                {
                    this.nextRequest = this.pendingRequests.Dequeue();
                }
                else
                {
                    this.hasPendingRequests = false;
                }
                return result;
            }
Example #4
0
            public void Enqueue(byte[] buffer, int offset, int count, IIORequestEventsHandler eventsHandler)
            {
                eventsHandler.OnEnquing();

                if (this.hasPendingRequests)
                {
                    if (this.pendingRequests == null)
                    {
                        this.pendingRequests = new Queue<PendingIORequest>();
                    }
                    this.pendingRequests.Enqueue(new PendingIORequest(buffer, offset, count, eventsHandler));
                }
                else
                {
                    this.nextRequest = new PendingIORequest(buffer, offset, count, eventsHandler);
                    this.hasPendingRequests = true;
                }
            }