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(); }
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()); }
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())); }