228 lines
4.7 KiB
C#
228 lines
4.7 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Threading;
|
|
|
|
namespace System.Net
|
|
{
|
|
// Token: 0x0200021D RID: 541
|
|
internal class FtpAsyncResult : IAsyncResult
|
|
{
|
|
// Token: 0x06001278 RID: 4728 RVA: 0x00037CC0 File Offset: 0x00035EC0
|
|
public FtpAsyncResult(AsyncCallback callback, object state)
|
|
{
|
|
this.callback = callback;
|
|
this.state = state;
|
|
}
|
|
|
|
// Token: 0x170005FF RID: 1535
|
|
// (get) Token: 0x06001279 RID: 4729 RVA: 0x00037CE4 File Offset: 0x00035EE4
|
|
public object AsyncState
|
|
{
|
|
get
|
|
{
|
|
return this.state;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000600 RID: 1536
|
|
// (get) Token: 0x0600127A RID: 4730 RVA: 0x00037CEC File Offset: 0x00035EEC
|
|
public WaitHandle AsyncWaitHandle
|
|
{
|
|
get
|
|
{
|
|
object obj = this.locker;
|
|
lock (obj)
|
|
{
|
|
if (this.waitHandle == null)
|
|
{
|
|
this.waitHandle = new ManualResetEvent(false);
|
|
}
|
|
}
|
|
return this.waitHandle;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000601 RID: 1537
|
|
// (get) Token: 0x0600127B RID: 4731 RVA: 0x00037D4C File Offset: 0x00035F4C
|
|
public bool CompletedSynchronously
|
|
{
|
|
get
|
|
{
|
|
return this.synch;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000602 RID: 1538
|
|
// (get) Token: 0x0600127C RID: 4732 RVA: 0x00037D54 File Offset: 0x00035F54
|
|
public bool IsCompleted
|
|
{
|
|
get
|
|
{
|
|
object obj = this.locker;
|
|
bool flag;
|
|
lock (obj)
|
|
{
|
|
flag = this.completed;
|
|
}
|
|
return flag;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000603 RID: 1539
|
|
// (get) Token: 0x0600127D RID: 4733 RVA: 0x00037DA4 File Offset: 0x00035FA4
|
|
internal bool GotException
|
|
{
|
|
get
|
|
{
|
|
return this.exception != null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000604 RID: 1540
|
|
// (get) Token: 0x0600127E RID: 4734 RVA: 0x00037DB4 File Offset: 0x00035FB4
|
|
internal Exception Exception
|
|
{
|
|
get
|
|
{
|
|
return this.exception;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000605 RID: 1541
|
|
// (get) Token: 0x0600127F RID: 4735 RVA: 0x00037DBC File Offset: 0x00035FBC
|
|
// (set) Token: 0x06001280 RID: 4736 RVA: 0x00037DC4 File Offset: 0x00035FC4
|
|
internal FtpWebResponse Response
|
|
{
|
|
get
|
|
{
|
|
return this.response;
|
|
}
|
|
set
|
|
{
|
|
this.response = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17000606 RID: 1542
|
|
// (get) Token: 0x06001281 RID: 4737 RVA: 0x00037DD0 File Offset: 0x00035FD0
|
|
// (set) Token: 0x06001282 RID: 4738 RVA: 0x00037DD8 File Offset: 0x00035FD8
|
|
internal Stream Stream
|
|
{
|
|
get
|
|
{
|
|
return this.stream;
|
|
}
|
|
set
|
|
{
|
|
this.stream = value;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001283 RID: 4739 RVA: 0x00037DE4 File Offset: 0x00035FE4
|
|
internal void WaitUntilComplete()
|
|
{
|
|
if (this.IsCompleted)
|
|
{
|
|
return;
|
|
}
|
|
this.AsyncWaitHandle.WaitOne();
|
|
}
|
|
|
|
// Token: 0x06001284 RID: 4740 RVA: 0x00037E00 File Offset: 0x00036000
|
|
internal bool WaitUntilComplete(int timeout, bool exitContext)
|
|
{
|
|
return this.IsCompleted || this.AsyncWaitHandle.WaitOne(timeout, exitContext);
|
|
}
|
|
|
|
// Token: 0x06001285 RID: 4741 RVA: 0x00037E28 File Offset: 0x00036028
|
|
internal void SetCompleted(bool synch, Exception exc, FtpWebResponse response)
|
|
{
|
|
this.synch = synch;
|
|
this.exception = exc;
|
|
this.response = response;
|
|
object obj = this.locker;
|
|
lock (obj)
|
|
{
|
|
this.completed = true;
|
|
if (this.waitHandle != null)
|
|
{
|
|
this.waitHandle.Set();
|
|
}
|
|
}
|
|
this.DoCallback();
|
|
}
|
|
|
|
// Token: 0x06001286 RID: 4742 RVA: 0x00037EA4 File Offset: 0x000360A4
|
|
internal void SetCompleted(bool synch, FtpWebResponse response)
|
|
{
|
|
this.SetCompleted(synch, null, response);
|
|
}
|
|
|
|
// Token: 0x06001287 RID: 4743 RVA: 0x00037EB0 File Offset: 0x000360B0
|
|
internal void SetCompleted(bool synch, Exception exc)
|
|
{
|
|
this.SetCompleted(synch, exc, null);
|
|
}
|
|
|
|
// Token: 0x06001288 RID: 4744 RVA: 0x00037EBC File Offset: 0x000360BC
|
|
internal void DoCallback()
|
|
{
|
|
if (this.callback != null)
|
|
{
|
|
try
|
|
{
|
|
this.callback(this);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001289 RID: 4745 RVA: 0x00037F08 File Offset: 0x00036108
|
|
internal void Reset()
|
|
{
|
|
this.exception = null;
|
|
this.synch = false;
|
|
this.response = null;
|
|
this.state = null;
|
|
object obj = this.locker;
|
|
lock (obj)
|
|
{
|
|
this.completed = false;
|
|
if (this.waitHandle != null)
|
|
{
|
|
this.waitHandle.Reset();
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x04000FD2 RID: 4050
|
|
private FtpWebResponse response;
|
|
|
|
// Token: 0x04000FD3 RID: 4051
|
|
private ManualResetEvent waitHandle;
|
|
|
|
// Token: 0x04000FD4 RID: 4052
|
|
private Exception exception;
|
|
|
|
// Token: 0x04000FD5 RID: 4053
|
|
private AsyncCallback callback;
|
|
|
|
// Token: 0x04000FD6 RID: 4054
|
|
private Stream stream;
|
|
|
|
// Token: 0x04000FD7 RID: 4055
|
|
private object state;
|
|
|
|
// Token: 0x04000FD8 RID: 4056
|
|
private bool completed;
|
|
|
|
// Token: 0x04000FD9 RID: 4057
|
|
private bool synch;
|
|
|
|
// Token: 0x04000FDA RID: 4058
|
|
private object locker = new object();
|
|
}
|
|
}
|