net.i2p.router.networkdb.kademlia
Class StoreState
java.lang.Object
net.i2p.router.networkdb.kademlia.StoreState
class StoreState
- extends Object
StoreState
public StoreState(RouterContext ctx,
Hash key,
DataStructure data)
StoreState
public StoreState(RouterContext ctx,
Hash key,
DataStructure data,
Set<Hash> toSkip)
getTarget
public Hash getTarget()
getData
public DataStructure getData()
getPending
public Set<Hash> getPending()
getAttempted
public Set<Hash> getAttempted()
getSuccessful
public Set<Hash> getSuccessful()
getFailed
public Set<Hash> getFailed()
- public Set getSuccessfulExploratory() {
synchronized (_successfulExploratoryPeers) {
return (Set)_successfulExploratoryPeers.clone();
}
}
completed
public boolean completed()
complete
public void complete(boolean completed)
getCompleteCount
public int getCompleteCount()
getWhenStarted
public long getWhenStarted()
getWhenCompleted
public long getWhenCompleted()
addPending
public void addPending(Hash peer,
MessageWrapper.WrappedMessage msg)
getPendingMessage
public MessageWrapper.WrappedMessage getPendingMessage(Hash peer)
addPending
public void addPending(Hash peer)
addPending
public void addPending(Collection<Hash> pending)
addSkipped
public void addSkipped(Hash peer)
- we aren't even going to try to contact this peer
confirmed
public long confirmed(Hash peer)
replyTimeout
public void replyTimeout(Hash peer)
- public long confirmedExploratory(Hash peer) {
long rv = -1;
synchronized (_pendingPeers) {
_pendingPeers.remove(peer);
Long when = _pendingPeerTimes.remove(peer);
if (when != null)
rv = _context.clock().now() - when.longValue();
}
synchronized (_successfulExploratoryPeers) {
_successfulExploratoryPeers.add(peer);
}
return rv;
}
toString
public String toString()
- Overrides:
toString
in class Object