protected virtual void Dispose(bool disposing)
 {
     if (!_disposed)
     {
         if (_socketEvent != null)
         {
             _socketEvent.Dispose();
             _socketEvent = null;
         }
         _disposed = true;
     }
 }
 public void FreeSocketEvent(ISocketEvent socketEvent)
 {
     socketEvent.Dispose();
 }