using System; using System.IO; using System.Threading; namespace System.Net { // Token: 0x0200025E RID: 606 internal class WebAsyncResult : IAsyncResult { // Token: 0x06001587 RID: 5511 RVA: 0x00044FEC File Offset: 0x000431EC public WebAsyncResult(AsyncCallback cb, object state) { this.cb = cb; this.state = state; } // Token: 0x06001588 RID: 5512 RVA: 0x00045010 File Offset: 0x00043210 public WebAsyncResult(HttpWebRequest request, AsyncCallback cb, object state) { this.cb = cb; this.state = state; } // Token: 0x06001589 RID: 5513 RVA: 0x00045034 File Offset: 0x00043234 public WebAsyncResult(AsyncCallback cb, object state, byte[] buffer, int offset, int size) { this.cb = cb; this.state = state; this.buffer = buffer; this.offset = offset; this.size = size; } // Token: 0x0600158A RID: 5514 RVA: 0x00045078 File Offset: 0x00043278 internal void SetCompleted(bool synch, Exception e) { this.synch = synch; this.exc = e; object obj = this.locker; lock (obj) { this.isCompleted = true; if (this.handle != null) { this.handle.Set(); } } } // Token: 0x0600158B RID: 5515 RVA: 0x000450E8 File Offset: 0x000432E8 internal void Reset() { this.callbackDone = false; this.exc = null; this.response = null; this.writeStream = null; this.exc = null; object obj = this.locker; lock (obj) { this.isCompleted = false; if (this.handle != null) { this.handle.Reset(); } } } // Token: 0x0600158C RID: 5516 RVA: 0x0004516C File Offset: 0x0004336C internal void SetCompleted(bool synch, int nbytes) { this.synch = synch; this.nbytes = nbytes; this.exc = null; object obj = this.locker; lock (obj) { this.isCompleted = true; if (this.handle != null) { this.handle.Set(); } } } // Token: 0x0600158D RID: 5517 RVA: 0x000451E4 File Offset: 0x000433E4 internal void SetCompleted(bool synch, Stream writeStream) { this.synch = synch; this.writeStream = writeStream; this.exc = null; object obj = this.locker; lock (obj) { this.isCompleted = true; if (this.handle != null) { this.handle.Set(); } } } // Token: 0x0600158E RID: 5518 RVA: 0x0004525C File Offset: 0x0004345C internal void SetCompleted(bool synch, HttpWebResponse response) { this.synch = synch; this.response = response; this.exc = null; object obj = this.locker; lock (obj) { this.isCompleted = true; if (this.handle != null) { this.handle.Set(); } } } // Token: 0x0600158F RID: 5519 RVA: 0x000452D4 File Offset: 0x000434D4 internal void DoCallback() { if (!this.callbackDone && this.cb != null) { this.callbackDone = true; this.cb(this); } } // Token: 0x06001590 RID: 5520 RVA: 0x00045300 File Offset: 0x00043500 internal void WaitUntilComplete() { if (this.IsCompleted) { return; } this.AsyncWaitHandle.WaitOne(); } // Token: 0x06001591 RID: 5521 RVA: 0x0004531C File Offset: 0x0004351C internal bool WaitUntilComplete(int timeout, bool exitContext) { return this.IsCompleted || this.AsyncWaitHandle.WaitOne(timeout, exitContext); } // Token: 0x1700070F RID: 1807 // (get) Token: 0x06001592 RID: 5522 RVA: 0x00045344 File Offset: 0x00043544 public object AsyncState { get { return this.state; } } // Token: 0x17000710 RID: 1808 // (get) Token: 0x06001593 RID: 5523 RVA: 0x0004534C File Offset: 0x0004354C public WaitHandle AsyncWaitHandle { get { object obj = this.locker; lock (obj) { if (this.handle == null) { this.handle = new ManualResetEvent(this.isCompleted); } } return this.handle; } } // Token: 0x17000711 RID: 1809 // (get) Token: 0x06001594 RID: 5524 RVA: 0x000453B0 File Offset: 0x000435B0 public bool CompletedSynchronously { get { return this.synch; } } // Token: 0x17000712 RID: 1810 // (get) Token: 0x06001595 RID: 5525 RVA: 0x000453B8 File Offset: 0x000435B8 public bool IsCompleted { get { object obj = this.locker; bool flag; lock (obj) { flag = this.isCompleted; } return flag; } } // Token: 0x17000713 RID: 1811 // (get) Token: 0x06001596 RID: 5526 RVA: 0x00045408 File Offset: 0x00043608 internal bool GotException { get { return this.exc != null; } } // Token: 0x17000714 RID: 1812 // (get) Token: 0x06001597 RID: 5527 RVA: 0x00045418 File Offset: 0x00043618 internal Exception Exception { get { return this.exc; } } // Token: 0x17000715 RID: 1813 // (get) Token: 0x06001598 RID: 5528 RVA: 0x00045420 File Offset: 0x00043620 // (set) Token: 0x06001599 RID: 5529 RVA: 0x00045428 File Offset: 0x00043628 internal int NBytes { get { return this.nbytes; } set { this.nbytes = value; } } // Token: 0x17000716 RID: 1814 // (get) Token: 0x0600159A RID: 5530 RVA: 0x00045434 File Offset: 0x00043634 // (set) Token: 0x0600159B RID: 5531 RVA: 0x0004543C File Offset: 0x0004363C internal IAsyncResult InnerAsyncResult { get { return this.innerAsyncResult; } set { this.innerAsyncResult = value; } } // Token: 0x17000717 RID: 1815 // (get) Token: 0x0600159C RID: 5532 RVA: 0x00045448 File Offset: 0x00043648 internal Stream WriteStream { get { return this.writeStream; } } // Token: 0x17000718 RID: 1816 // (get) Token: 0x0600159D RID: 5533 RVA: 0x00045450 File Offset: 0x00043650 internal HttpWebResponse Response { get { return this.response; } } // Token: 0x17000719 RID: 1817 // (get) Token: 0x0600159E RID: 5534 RVA: 0x00045458 File Offset: 0x00043658 internal byte[] Buffer { get { return this.buffer; } } // Token: 0x1700071A RID: 1818 // (get) Token: 0x0600159F RID: 5535 RVA: 0x00045460 File Offset: 0x00043660 internal int Offset { get { return this.offset; } } // Token: 0x1700071B RID: 1819 // (get) Token: 0x060015A0 RID: 5536 RVA: 0x00045468 File Offset: 0x00043668 internal int Size { get { return this.size; } } // Token: 0x040011E0 RID: 4576 private ManualResetEvent handle; // Token: 0x040011E1 RID: 4577 private bool synch; // Token: 0x040011E2 RID: 4578 private bool isCompleted; // Token: 0x040011E3 RID: 4579 private AsyncCallback cb; // Token: 0x040011E4 RID: 4580 private object state; // Token: 0x040011E5 RID: 4581 private int nbytes; // Token: 0x040011E6 RID: 4582 private IAsyncResult innerAsyncResult; // Token: 0x040011E7 RID: 4583 private bool callbackDone; // Token: 0x040011E8 RID: 4584 private Exception exc; // Token: 0x040011E9 RID: 4585 private HttpWebResponse response; // Token: 0x040011EA RID: 4586 private Stream writeStream; // Token: 0x040011EB RID: 4587 private byte[] buffer; // Token: 0x040011EC RID: 4588 private int offset; // Token: 0x040011ED RID: 4589 private int size; // Token: 0x040011EE RID: 4590 private object locker = new object(); // Token: 0x040011EF RID: 4591 public bool EndCalled; // Token: 0x040011F0 RID: 4592 public bool AsyncWriteAll; } }