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);
}
}
}