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