Esempio n. 1
0
 internal void SetNonceInfo(uint nonce, PeerTestRole role)
 {
     lock ( KnownPeerTestNonces )
     {
         KnownPeerTestNonces[nonce] = new PeerTestNonceInfo(role);
     }
 }
Esempio n. 2
0
        private void RespondToPeerTestInitiationFromAlice(PeerTest msg, PeerTestNonceInfo nonceinfo)
        {
            // Nonce already in use for another test? Just ignore.
            if (nonceinfo != null)
            {
                Logging.LogTransport("SSU {this}: PeerTest. We are Bob getting a iniation from Alice, but will drop it due to nonce clash. {msg}");
                return;
            }

            Session.Host.SetNonceInfo(msg.TestNonce.Peek32(0), PeerTestRole.Bob);

            var pt = new PeerTest(msg.TestNonce,
                                  Session.RemoteEP.Address, Session.RemoteEP.Port,
                                  msg.IntroKey);

            Logging.LogTransport($"SSU {this}: PeerTest. We are Bob and sending first relay to Charlie: {pt}");
            Session.Host.SendFirstPeerTestToCharlie(pt);
            return;
        }