public async Task Send(ReadOnlyMemory <byte> body, PacketType packetType, CancellationToken cancellationToken = default) { using (await _sendLock.LockAsync()) { await _socket.SendAsync(body, packetType.Map(), true, cancellationToken); } }