public void Send(byte[] buffer, int offset, int count) { var client = _client; if (client == null) { throw new InvalidOperationException("Channel closed"); } try { var args = _sendArgsPool.GetObject(); args.SetBuffer(buffer, offset, count); if (!client.SendAsync(args)) { OnSendCompleted(client, args); } } catch (Exception ex) { OnError(ex); } }