本文整理汇总了Java中lbms.plugins.mldht.kad.messages.GetPeersRequest.getID方法的典型用法代码示例。如果您正苦于以下问题:Java GetPeersRequest.getID方法的具体用法?Java GetPeersRequest.getID怎么用?Java GetPeersRequest.getID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lbms.plugins.mldht.kad.messages.GetPeersRequest
的用法示例。
在下文中一共展示了GetPeersRequest.getID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: incomingMessage
import lbms.plugins.mldht.kad.messages.GetPeersRequest; //导入方法依赖的package包/类
void incomingMessage(DHT d, MessageBase m) {
if(d.getMismatchDetector().isIdInconsistencyExpected(m.getOrigin(), m.getID()))
return;
if(m instanceof GetPeersRequest) {
GetPeersRequest gpr = (GetPeersRequest) m;
RPCServer srv = m.getServer();
Key theirID = gpr.getID();
if(d.getNode().isLocalId(theirID))
return;
Key ourId = srv.getDerivedID();
Key target = gpr.getInfoHash();
if(Stream.of(theirID, ourId, target).distinct().count() != 3)
return;
int myCloseness = ourId.distance(target).leadingOneBit();
int theirCloseness = theirID.distance(target).leadingOneBit();
if(theirCloseness > myCloseness && theirCloseness - myCloseness >= 8)
return; // they're looking for something that's significantly closer to their own ID than we are
process(gpr.getInfoHash(), theirID, gpr.getOrigin(), null);
}
if(m instanceof AnnounceRequest) {
AnnounceRequest anr = (AnnounceRequest) m;
process(anr.getInfoHash(), anr.getID(), anr.getOrigin(), anr.getNameUTF8().orElse(null));
}
}