IAsyncResult innerAsyncResult;
bool callbackDone;
Exception exc;
- HttpWebRequest request;
HttpWebResponse response;
Stream writeStream;
byte [] buffer;
int offset;
int size;
object locker = new object ();
+ public bool EndCalled;
+ public bool AsyncWriteAll;
public WebAsyncResult (AsyncCallback cb, object state)
{
public WebAsyncResult (HttpWebRequest request, AsyncCallback cb, object state)
{
- this.request = request;
this.cb = cb;
this.state = state;
}
{
callbackDone = false;
exc = null;
- request = null;
response = null;
writeStream = null;
exc = null;
{
if (!callbackDone && cb != null) {
callbackDone = true;
- cb (this);
+ if (synch)
+ cb (this);
+ else
+ ThreadPool.QueueUserWorkItem (CB, null);
}
}
+
+ void CB (object unused)
+ {
+ cb (this);
+ }
internal void WaitUntilComplete ()
{