public void HandleWritability(Socket s) {
try {
if( s.Connected ) {
TcpEdgeListener.SetSocketOpts(s);
TcpEdge e = new TcpEdge(TEL, false, s);
Result.Value = e;
//Handle closes in the select thread:
CloseAction ca = new CloseAction(e, TEL.ActionQueue);
e.CloseEvent += ca.CloseHandler;
//Set the edge
TEL.ActionQueue.Enqueue(this);
}
else {
//This did not work out, close the socket and release the resources:
HandleError(s);
}
}
catch(Exception) {
//This did not work out, close the socket and release the resources:
//Console.WriteLine("Exception: {0}", x);
HandleError(s);
}
}