private void ProcessClose()
{
Debug.Assert(_issueCountFlag.Flag, "ProcessClose assumes it's still open");
// Closed Event
if (Closed != null)
Closed(this, _closeReason);
// Dispose Resources
if (_socket != null)
{
_socket.Close();
_socket = null;
}
if (_receiveArgs != null)
{
_receiveArgs.Dispose();
_receiveArgs = null;
}
if (_sendArgs != null)
{
_sendArgs.Dispose();
_sendArgs = null;
}
}