public bool Flush() { if (mSocket == null || !mSendQueue.IsFlushReady) { return(false); } SendQueue.PendingData gram; lock ( mSendQueue ) { gram = mSendQueue.CheckFlushReady(); } if (gram != null) { try { mSocket.BeginSend(gram.Buffer, 0, gram.Length, SocketFlags.None, mOnSend, mSocket); return(true); } catch (Exception ex) { ExceptionHandler.Trace(ex); Dispose(false); } } return(false); }