[Modify] Use List

This commit is contained in:
sta 2020-10-23 19:30:21 +09:00
parent 99034c14d2
commit 651c4f5ae7

View File

@ -69,7 +69,7 @@ namespace WebSocketSharp.Net
private Socket _socket; private Socket _socket;
private ServerSslConfiguration _sslConfig; private ServerSslConfiguration _sslConfig;
private List<HttpListenerPrefix> _unhandled; // host == '*' private List<HttpListenerPrefix> _unhandled; // host == '*'
private Dictionary<HttpConnection, HttpConnection> _unregistered; private List<HttpConnection> _unregistered;
private object _unregisteredSync; private object _unregisteredSync;
#endregion #endregion
@ -116,7 +116,7 @@ namespace WebSocketSharp.Net
} }
_prefixes = new List<HttpListenerPrefix> (); _prefixes = new List<HttpListenerPrefix> ();
_unregistered = new Dictionary<HttpConnection, HttpConnection> (); _unregistered = new List<HttpConnection> ();
_unregisteredSync = ((ICollection) _unregistered).SyncRoot; _unregisteredSync = ((ICollection) _unregistered).SyncRoot;
_socket = new Socket ( _socket = new Socket (
@ -281,7 +281,7 @@ namespace WebSocketSharp.Net
conn = new HttpConnection (socket, listener); conn = new HttpConnection (socket, listener);
lock (listener._unregisteredSync) lock (listener._unregisteredSync)
listener._unregistered[conn] = conn; listener._unregistered.Add (conn);
conn.BeginReadRequest (); conn.BeginReadRequest ();
} }
@ -492,13 +492,14 @@ namespace WebSocketSharp.Net
HttpConnection[] conns = null; HttpConnection[] conns = null;
lock (_unregisteredSync) { lock (_unregisteredSync) {
if (_unregistered.Count == 0) var cnt = _unregistered.Count;
if (cnt == 0)
return; return;
var keys = _unregistered.Keys; conns = new HttpConnection[cnt];
conns = new HttpConnection[keys.Count];
keys.CopyTo (conns, 0); _unregistered.CopyTo (conns, 0);
_unregistered.Clear (); _unregistered.Clear ();
} }