void ReadCB(IAsyncResult ares)
{
byte [] buffer = (byte []) ares.AsyncState;
try {
int nread = stream.EndRead (ares);
// See if we got at least 1 line
initial.SetBuffer (buffer, nread);
initial.ReadRequestData ();
ThreadPool.QueueUserWorkItem (new WaitCallback (RunInternal));
} catch (Exception e) {
InitialWorkerRequest.FreeBuffer (buffer);
HandleInitialException (e);
}
}