/**
* Called when the socket is writable
*/
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);
}
}