## net.i2p.router.networkdb.kademlia
Class SearchState

    java.lang.Object
      net.i2p.router.networkdb.kademlia.SearchState

     class SearchState

extends Object

Data related to a particular search

Constructor Summary
`SearchState(RouterContext context, Hash key)`

Method Summary
`void` `addPending(Collection pending)`
`void` `addPending(Hash peer)`
`void` `complete(boolean completed)`
`boolean` `completed()`
`long` `dataFound(Hash peer)` how long did it take to get the reply, or -1 if we don't know
`Set` `getAttempted()`
`Set` `getClosestAttempted(int max)`
`Set` `getFailed()`
`Set` `getPending()`
`Set` `getRepliedPeers()`
`Set` `getSuccessful()`
`Hash` `getTarget()`
`long` `getWhenCompleted()`
`long` `getWhenStarted()`
`void` `removePending(Hash peer)` we didn't actually want to add this peer as part of the pending list...
`long` `replyFound(Hash peer)` how long did it take to get the reply, or -1 if we dont know
`void` `replyTimeout(Hash peer)`
`String` `toString()`
`boolean` `wasAttempted(Hash peer)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SearchState

    public SearchState(RouterContext context,
                       Hash key)

Method Detail

### getTarget

    public Hash getTarget()

### getPending

    public Set getPending()

### getAttempted

    public Set getAttempted()

### getClosestAttempted

    public Set getClosestAttempted(int max)

### wasAttempted

    public boolean wasAttempted(Hash peer)

### getSuccessful

    public Set getSuccessful()

### getFailed

    public Set getFailed()

### completed

    public boolean completed()

### complete

    public void complete(boolean completed)

### getWhenStarted

    public long getWhenStarted()

### getWhenCompleted

    public long getWhenCompleted()

### addPending

    public void addPending(Collection pending)

### addPending

    public void addPending(Hash peer)

### removePending

    public void removePending(Hash peer)

  we didn't actually want to add this peer as part of the pending list...

### dataFound

    public long dataFound(Hash peer)

  how long did it take to get the reply, or -1 if we don't know

### replyFound

    public long replyFound(Hash peer)

  how long did it take to get the reply, or -1 if we dont know

### getRepliedPeers

    public Set getRepliedPeers()

### replyTimeout

    public void replyTimeout(Hash peer)

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`