Esempio n. 1
0
        public async Task ConfirmHandshake_Test()
        {
            PeerConnectedEventData received = null;

            _eventBus.Subscribe <PeerConnectedEventData>(t =>
            {
                received = t;
                return(Task.CompletedTask);
            });
            var request = new ConfirmHandshakeRequest();
            var context = BuildServerCallContext(null, "ipv4:127.0.0.1:7878");

            var result = await _serverService.ConfirmHandshake(request, context);

            result.ShouldBe(new VoidReply());
            received.ShouldBe(null);

            var peer     = _peerPool.GetPeers(true).First();
            var pubkey   = peer.Info.Pubkey;
            var metadata = new Metadata {
                { GrpcConstants.PubkeyMetadataKey, pubkey }
            };

            context = BuildServerCallContext(metadata, "ipv4:127.0.0.1:7878");
            result  = await _serverService.ConfirmHandshake(request, context);

            result.ShouldBe(new VoidReply());
            received.ShouldNotBeNull();
        }
Esempio n. 2
0
 public override async Task <VoidReply> ConfirmHandshake(ConfirmHandshakeRequest request,
                                                         ServerCallContext context)
 {
     Logger.LogDebug($"Peer {context.GetPeerInfo()} has requested a confirm handshake.");
     _connectionService.ConfirmHandshake(context.GetPublicKey());
     return(new VoidReply());
 }
Esempio n. 3
0
        public override Task <VoidReply> ConfirmHandshake(ConfirmHandshakeRequest request,
                                                          ServerCallContext context)
        {
            try
            {
                Logger.LogDebug($"Peer {context.GetPeerInfo()} has requested a handshake confirmation.");

                _connectionService.ConfirmHandshake(context.GetPublicKey());
            }
            catch (Exception e)
            {
                Logger.LogError(e, $"Confirm handshake error - {context.GetPeerInfo()}: ");
                throw;
            }

            return(Task.FromResult(new VoidReply()));
        }