void ReadCB(IAsyncResult ares) { var 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(RunInternal); } catch (Exception e) { InitialWorkerRequest.FreeBuffer(buffer); HandleInitialException(e); } }
public override void Run(object state) { initial = new InitialWorkerRequest(stream); byte [] buffer = InitialWorkerRequest.AllocateBuffer(); stream.BeginRead(buffer, 0, buffer.Length, ReadCB, buffer); }
public override void Run (object state) { initial = new InitialWorkerRequest (stream); byte [] buffer = InitialWorkerRequest.AllocateBuffer (); stream.BeginRead (buffer, 0, buffer.Length, ReadCB, buffer); }