using System.Threading; namespace Curtain.Net.Sockets.PLC { /// /// Socket异步状态 /// internal class SocketAsyncState : EventWaitHandle { /// /// Socket异步状态 /// public SocketAsyncState() : base(false, EventResetMode.ManualReset) { } /// /// Socket异步状态 /// /// public SocketAsyncState(bool initialState) : base(initialState, EventResetMode.ManualReset) { } /// /// Socket异步状态 /// /// /// public SocketAsyncState(bool initialState, EventResetMode mode) : base(initialState, mode) { } /// /// 数据 /// public byte[] Data { get; set; } /// /// 数据偏移 /// public int Offset { get; set; } /// /// 数据大小 /// public int Size { get; set; } /// /// 结果 /// public PLCResult Result { get; set; } /// /// 销毁 /// /// protected override void Dispose(bool explicitDisposing) { Result = null; base.Dispose(explicitDisposing); } } }