/** * This method stores the ID of a traversed peer by the query and additionally specifies how many * matches were added, at which level the added peer is situated in the tree and if the peer could * solve this clause. * * @param nodeInfo contains the ID of the traversed peer * @param level contains the level of the traversed peer * @param replies contains the amount of matches, which were added by the peer * @param querySolved specifies if the traversed peer could solve this clause */ public void addReplyingPeer( SkyNetNodeInfo nodeInfo, int level, int replies, boolean querySolved) { replyingPeers.put( nodeInfo.getSkyNetID().getID(), new QueryReplyingPeer(nodeInfo.getSkyNetID(), level, replies, querySolved)); if (querySolved) { solvingPeer = nodeInfo; solvingLevel = level; } }
/** * This method returns the information of the current Parent-Coordinator, which is required to * address the Parent-Coordinator. * * @return the <code>SkyNetNodeInfo</code> of the ParentCoordinator */ public SkyNetNodeInfo getParentCoordinator() { if (parentCoordinator != null) { if (parentCoordinator.isComplete()) { return parentCoordinator.clone(); } else { return null; } } else { return null; } }
void lookupOperationSucceeded(Operation<OverlayContact<OverlayID<?>>> op) { LookupResult result = treeHandlerDelegator.lookupOperationSucceeded(op); parentCoordinator = new SkyNetNodeInfoImpl( result.getSkyNetID(), coordinatorKey, DefaultTransInfo.getTransInfo( result.getContact().getTransInfo().getNetId(), skyNetNode.getPort()), level); log.info( parentCoordinator.toString() + " is parentCoordinator of " + skyNetNode.getSkyNetNodeInfo().toString()); skyNetNode.getMetricUpdateStrategy().sendNextDataUpdate(); }