[Modify] Use the Queue<T> class instead
This commit is contained in:
parent
b0361e1867
commit
c26470ff21
@ -80,7 +80,7 @@ namespace WebSocketSharp.Net
|
|||||||
private bool _reuseAddress;
|
private bool _reuseAddress;
|
||||||
private ServerSslConfiguration _sslConfig;
|
private ServerSslConfiguration _sslConfig;
|
||||||
private Func<IIdentity, NetworkCredential> _userCredFinder;
|
private Func<IIdentity, NetworkCredential> _userCredFinder;
|
||||||
private List<HttpListenerAsyncResult> _waitQueue;
|
private Queue<HttpListenerAsyncResult> _waitQueue;
|
||||||
private object _waitQueueSync;
|
private object _waitQueueSync;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -116,7 +116,7 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
_prefixes = new HttpListenerPrefixCollection (this);
|
_prefixes = new HttpListenerPrefixCollection (this);
|
||||||
|
|
||||||
_waitQueue = new List<HttpListenerAsyncResult> ();
|
_waitQueue = new Queue<HttpListenerAsyncResult> ();
|
||||||
_waitQueueSync = ((ICollection) _waitQueue).SyncRoot;
|
_waitQueueSync = ((ICollection) _waitQueue).SyncRoot;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -516,14 +516,7 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
private HttpListenerAsyncResult getAsyncResultFromQueue ()
|
private HttpListenerAsyncResult getAsyncResultFromQueue ()
|
||||||
{
|
{
|
||||||
if (_waitQueue.Count == 0)
|
return _waitQueue.Count > 0 ? _waitQueue.Dequeue () : null;
|
||||||
return null;
|
|
||||||
|
|
||||||
var ret = _waitQueue[0];
|
|
||||||
|
|
||||||
_waitQueue.RemoveAt (0);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private HttpListenerContext getContextFromQueue ()
|
private HttpListenerContext getContextFromQueue ()
|
||||||
@ -561,7 +554,7 @@ namespace WebSocketSharp.Net
|
|||||||
var ctx = getContextFromQueue ();
|
var ctx = getContextFromQueue ();
|
||||||
|
|
||||||
if (ctx == null)
|
if (ctx == null)
|
||||||
_waitQueue.Add (asyncResult);
|
_waitQueue.Enqueue (asyncResult);
|
||||||
else
|
else
|
||||||
asyncResult.Complete (ctx, true);
|
asyncResult.Complete (ctx, true);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user