internal void SendFindNodeQuery(IPEndPoint address, DHTId target, bool neighbor = true) { var transactionID = DHTTransactions.GetNextId(); DHTId targetId = (target == null) ? fLocalID : ((neighbor) ? DHTNode.GetNeighbor(target.Data, fLocalID.Data) : target); var msg = DHTMessage.CreateFindNodeQuery(transactionID, fLocalID, targetId); fTransactions.SetQuery(transactionID, msg); Send(address, msg); }
internal void SendFindNodeQuery(IPEndPoint address, byte[] data) { var transactionID = DHTHelper.GetTransactionId(); byte[] nid = (data == null) ? fLocalID : DHTHelper.GetNeighbor(data, fLocalID); var msg = DHTMessage.CreateFindNodeQuery(transactionID, nid); SetTransaction(transactionID, msg); Send(address, msg); }
public void Test_CreateFindNodeQuery() { var tid = DHTTransactions.GetNextId(); var nodeId = DHTId.CreateRandom(); DHTMessage msg = DHTMessage.CreateFindNodeQuery(tid, nodeId, nodeId); Assert.IsNotNull(msg); Assert.AreEqual(MessageType.Query, msg.Type); Assert.AreEqual(QueryType.FindNode, msg.QueryType); // TODO: test contents }
private void SendFindNodeQuery(IPEndPoint address, byte[] data) { var transactionID = DHTHelper.GetTransactionId(); byte[] nid = (data == null) ? fLocalID : DHTHelper.GetNeighbor(data, fLocalID); BDictionary sendData = DHTMessage.CreateFindNodeQuery(transactionID, nid); SetTransaction(transactionID, new DHTMessage(MsgType.query, QueryType.find_node, sendData)); Send(address, sendData); }