private void PerformHandshake() { if (Client == null) { throw new InvalidOperationException("Cannot start a session without a Client."); } PacketWriter pWriter = PacketWriter.Of(SendOp.REQUEST_VERSION); pWriter.WriteUInt(VERSION); pWriter.WriteUInt(Riv); pWriter.WriteUInt(Siv); pWriter.WriteUInt(BLOCK_IV); pWriter.WriteByte((byte)Type); // No encryption for handshake Packet packet = SendCipher.WriteHeader(pWriter.ToArray()); Logger.Debug("Handshake: {packet}", packet); SendRaw(packet); }