void WriteRequestAsyncCB(IAsyncResult r)
{
WebAsyncResult result = (WebAsyncResult)r.AsyncState;
try {
cnc.EndWrite2(request, r);
result.SetCompleted(false, 0);
if (!initRead)
{
initRead = true;
WebConnection.InitRead(cnc);
}
} catch (Exception e) {
KillBuffer();
nextReadCalled = true;
cnc.Close(true);
if (e is System.Net.Sockets.SocketException)
{
e = new IOException("Error writing request", e);
}
result.SetCompleted(false, e);
}
complete_request_written = true;
result.DoCallback();
}