public void Listen(System.Net.IPAddress address, int port, int backlog) { _listener = new ConnectionListener(_eventBase, new System.Net.IPEndPoint(address, port), (short)backlog); _listener.ConnectionAccepted += SocketAccepted; _listener.Disable(); new Thread(EventLoop).Start(); }
public void Listen(System.Net.IPAddress address, int port, int backlog) { _listener = new ConnectionListener (_eventBase, new System.Net.IPEndPoint (address, port), (short)backlog); _listener.ConnectionAccepted += SocketAccepted; _listener.Disable (); new Thread (EventLoop).Start (); }
void SocketAccepted(IntPtr socket, System.Net.IPEndPoint arg2) { var osocket = new OarsSocket(socket, this); if (_waitingForSockets.Count == 0) { _acceptedSockets.Enqueue(osocket); } else { _waitingForSockets.Dequeue().SetResult(osocket); } if (_waitingForSockets.Count != 0) { _listener.Disable(); } }