示例#1
0
        private void HandleHandshakeMessage(NetworkIncomingMessage message)
        {
            HandshakeKey           decryptor = keys.Remote.Clone();
            NetworkIncomingMessage decrypted = decryptor.Decrypt(message);

            int      size = HandshakeMessage.GetSize(decrypted);
            PeerHash peer = HandshakeMessage.GetPeer(decrypted);

            HandshakeOptions options   = HandshakeMessage.GetOptions(decrypted);
            Handshake        handshake = new Handshake(context.Peer, peer, context.Hash, options);

            message.Acknowledge(size);
            keys.Remote.Acknowledge(size);

            NetworkConnection other = connection.StartEncryption(keys);

            hooks.CallHandshakeCompleted(other, handshake);
            context.OnHandshake(other, handshake);
        }
示例#2
0
 public void CallHandshakeCompleted(Handshake handshake)
 {
     hooks.CallHandshakeCompleted(connection, handshake);
 }