public AnnouncePeerQuery(TransactionID transactionId, NodeID senderNodeId, InfoHash infoHash, PeerToken token, int port, bool impliedPort) { TransactionID = transactionId; SenderNode = senderNodeId; InfoHash = infoHash; Port = port; Token = token; ImpliedPort = impliedPort; }
public void AnnouncePeerQuery_Encoding() { TransactionID transactionId = new TransactionID(Encoding.UTF8.GetBytes("aa")); NodeID senderId = new NodeID(Encoding.UTF8.GetBytes("abcdefghij0123456789")); InfoHash infoHash = new InfoHash(Encoding.UTF8.GetBytes("mnopqrstuvwxyz123456")); PeerToken token = new PeerToken(Encoding.UTF8.GetBytes("aoeusnth")); int port = 6881; bool impliedPort = true; AnnouncePeerQuery testQuery = new AnnouncePeerQuery(transactionId, senderId, infoHash, token, port, impliedPort); byte[] bencodedMessageBytes = testQuery.Construct().Encode(); Assert.Equal(MessageType.Query, KademliaRPC.TryParseMessage(bencodedMessageBytes, out BDictionary message)); Assert.Equal(QueryType.announce_peer, KademliaRPC.TryGetQuery(message, out Query query)); Assert.True(query is AnnouncePeerQuery); Assert.Equal(testQuery.TransactionID, query.TransactionID); Assert.Equal(testQuery.SenderNode, ((AnnouncePeerQuery)query).SenderNode); Assert.Equal(testQuery.InfoHash, ((AnnouncePeerQuery)query).InfoHash); Assert.Equal(testQuery.Token, ((AnnouncePeerQuery)query).Token); Assert.Equal(testQuery.Port, ((AnnouncePeerQuery)query).Port); Assert.Equal(testQuery.ImpliedPort, ((AnnouncePeerQuery)query).ImpliedPort); Assert.Equal(TestBencodedMessage, Encoding.UTF8.GetString(bencodedMessageBytes)); }
public GetPeersResponse(TransactionID transactionId, NodeID queriedNodeId, PeerToken token, PeerContact[] peers) : this(transactionId, queriedNodeId, token) { Peers = peers; }
public GetPeersResponse(TransactionID transactionId, NodeID queriedNodeId, PeerToken token, IPv4Node[] nodes, IPv6Node[] nodes6) : this(transactionId, queriedNodeId, token) { Nodes = nodes; Nodes6 = nodes6; }
private GetPeersResponse(TransactionID transactionId, NodeID queriedNodeId, PeerToken token) { TransactionID = transactionId; QueriedNode = queriedNodeId; Token = token; }