private void CloseSocketWhileReceiving(SocketAsyncEventArgs args, Exception exception) { Log.I.Warn($"{nameof(AsyncTcpConnection)}.{nameof(CloseSocketWhileReceiving)} Close Socket! with error"); m_Receiving.TryDispose(); if (args.UserToken is ReceiveContextData receiveCtx) { receiveCtx.Dispose(); args.UserToken = null; } args.Dispose(); m_OnReceiveError.Invoke(exception); Dispose(); }
private void CloseSocketWhileSending(SocketAsyncEventArgs args, Exception exception) { if (m_Sending.TryDispose()) { args.Dispose(); if (args.UserToken is SendContextData sendContextData) { sendContextData.Dispose(); } } m_OnSendError?.Invoke(exception); Dispose(); }