private void ProcessOpen()
{
// Initialize IO Buffers
_receiveBuffer = new byte[Settings.ReceiveBufferSize];
_receiveLength = 0;
_receiveArgs = new SocketAsyncEventArgs();
_receiveArgs.SetBuffer(_receiveBuffer, 0, _receiveBuffer.Length);
_receiveArgs.Completed += OnReceiveComplete;
_sendBuffer = new byte[Settings.SendBufferSize];
_sendLength = 0;
_sendOffset = 0;
_sendArgs = new SocketAsyncEventArgs();
_sendArgs.SetBuffer(_sendBuffer, 0, _sendBuffer.Length);
_sendArgs.Completed += OnSendComplete;
_sendCount = 0;
_sendQueue = new ConcurrentQueue<object>();
// Opened Event
if (Opened != null)
Opened(this);
}