*/
internal EndPoint seed_endpoint = null;
- internal Queue readQ = new Queue (2);
- internal Queue writeQ = new Queue (2);
+ internal Queue<SocketAsyncWorker> readQ = new Queue<SocketAsyncWorker> (2);
+ internal Queue<SocketAsyncWorker> writeQ = new Queue<SocketAsyncWorker> (2);
internal bool is_blocking = true;
internal bool is_bound;
return sockares;
}
- void QueueSocketAsyncResult (Queue queue, SocketAsyncWorker worker, SocketAsyncResult sockares)
+ void QueueSocketAsyncResult (Queue<SocketAsyncWorker> queue, SocketAsyncWorker worker, SocketAsyncResult sockares)
{
int count;
lock (queue) {
IsCompleted = true;
- Queue queue = null;
+ Queue<SocketAsyncWorker> queue = null;
switch (operation) {
case SocketOperation.Receive:
case SocketOperation.ReceiveFrom:
queue.Dequeue (); /* remove ourselves */
if (queue.Count > 0) {
if (!socket.is_disposed) {
- Socket.socket_pool_queue (SocketAsyncWorker.Dispatcher, ((SocketAsyncWorker) queue.Peek ()).result);
+ Socket.socket_pool_queue (SocketAsyncWorker.Dispatcher, (queue.Peek ()).result);
} else {
/* CompleteAllOnDispose */
- object [] pending = queue.ToArray ();
- for (int i = 0; i < pending.Length; i++)
- ThreadPool.UnsafeQueueUserWorkItem (((SocketAsyncWorker) pending [i]).result.CompleteDisposed, null);
+ SocketAsyncWorker [] workers = queue.ToArray ();
+ for (int i = 0; i < workers.Length; i++)
+ ThreadPool.UnsafeQueueUserWorkItem (workers [i].result.CompleteDisposed, null);
queue.Clear ();
}
}