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

Constructors
Constructor and Description
`SearchState(RouterContext context, Hash key)`

### Method Summary

Methods
`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`