forked from I2P_Developers/i2p.i2p
javadoc
This commit is contained in:
@ -12,6 +12,7 @@ import net.i2p.data.Hash;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Stub for KRPC
|
* Stub for KRPC
|
||||||
|
* @since 0.8.4
|
||||||
*/
|
*/
|
||||||
public interface DHT {
|
public interface DHT {
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ import net.i2p.util.SimpleTimer2;
|
|||||||
*
|
*
|
||||||
* And a real Kademlia routing table, which stores node IDs only.
|
* And a real Kademlia routing table, which stores node IDs only.
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class DHTNodes {
|
class DHTNodes {
|
||||||
|
@ -17,7 +17,7 @@ import net.i2p.util.SimpleTimer2;
|
|||||||
/**
|
/**
|
||||||
* The tracker stores peers, i.e. Dest hashes (not nodes).
|
* The tracker stores peers, i.e. Dest hashes (not nodes).
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class DHTTracker {
|
class DHTTracker {
|
||||||
|
@ -9,7 +9,7 @@ import org.klomp.snark.I2PSnarkUtil;
|
|||||||
/**
|
/**
|
||||||
* A 20-byte SHA1 info hash
|
* A 20-byte SHA1 info hash
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class InfoHash extends SHA1Hash {
|
class InfoHash extends SHA1Hash {
|
||||||
|
@ -8,6 +8,7 @@ import net.i2p.kademlia.KBucketTrimmer;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Removes an element older than 15 minutes, but only if the bucket hasn't changed in 5 minutes.
|
* Removes an element older than 15 minutes, but only if the bucket hasn't changed in 5 minutes.
|
||||||
|
* @since 0.9.2
|
||||||
*/
|
*/
|
||||||
class KBTrimmer implements KBucketTrimmer<NID> {
|
class KBTrimmer implements KBucketTrimmer<NID> {
|
||||||
private final I2PAppContext _ctx;
|
private final I2PAppContext _ctx;
|
||||||
|
@ -79,7 +79,7 @@ import org.klomp.snark.bencode.InvalidBEncodingException;
|
|||||||
* - nodes (in the find_node and get_peers response) is one concatenated string, not a list of strings, right?
|
* - nodes (in the find_node and get_peers response) is one concatenated string, not a list of strings, right?
|
||||||
* - Node ID enforcement, keyspace rotation?
|
* - Node ID enforcement, keyspace rotation?
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
public class KRPC implements I2PSessionMuxedListener, DHT {
|
public class KRPC implements I2PSessionMuxedListener, DHT {
|
||||||
|
@ -9,7 +9,7 @@ import net.i2p.data.ByteArray;
|
|||||||
/**
|
/**
|
||||||
* Used for both incoming and outgoing message IDs
|
* Used for both incoming and outgoing message IDs
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class MsgID extends ByteArray {
|
class MsgID extends ByteArray {
|
||||||
|
@ -10,7 +10,7 @@ import net.i2p.util.Clock;
|
|||||||
* A 20-byte peer ID, used as a Map key in lots of places.
|
* A 20-byte peer ID, used as a Map key in lots of places.
|
||||||
* Must be public for constructor in KBucketSet.generateRandomKey()
|
* Must be public for constructor in KBucketSet.generateRandomKey()
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
public class NID extends SHA1Hash {
|
public class NID extends SHA1Hash {
|
||||||
|
@ -20,7 +20,7 @@ import net.i2p.util.RandomSource;
|
|||||||
* always have the Destination.
|
* always have the Destination.
|
||||||
* The conpact info is immutable. The Destination may be added later.
|
* The conpact info is immutable. The Destination may be added later.
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import net.i2p.data.DataHelper;
|
|||||||
* Closest to a InfoHash or NID key.
|
* Closest to a InfoHash or NID key.
|
||||||
* Use for NodeInfos.
|
* Use for NodeInfos.
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class NodeInfoComparator implements Comparator<NodeInfo> {
|
class NodeInfoComparator implements Comparator<NodeInfo> {
|
||||||
|
@ -9,7 +9,7 @@ import net.i2p.data.Hash;
|
|||||||
* A single peer for a single torrent.
|
* A single peer for a single torrent.
|
||||||
* This is what the DHT tracker remembers.
|
* This is what the DHT tracker remembers.
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class Peer extends Hash {
|
class Peer extends Hash {
|
||||||
|
@ -10,7 +10,7 @@ import net.i2p.data.Hash;
|
|||||||
/**
|
/**
|
||||||
* All the peers for a single torrent
|
* All the peers for a single torrent
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class Peers extends ConcurrentHashMap<Hash, Peer> {
|
class Peers extends ConcurrentHashMap<Hash, Peer> {
|
||||||
|
@ -17,6 +17,7 @@ import net.i2p.util.SecureFileOutputStream;
|
|||||||
/**
|
/**
|
||||||
* Retrieve / Store the local DHT in a file
|
* Retrieve / Store the local DHT in a file
|
||||||
*
|
*
|
||||||
|
* @since 0.9.2
|
||||||
*/
|
*/
|
||||||
abstract class PersistDHT {
|
abstract class PersistDHT {
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import net.i2p.data.DataHelper;
|
|||||||
/**
|
/**
|
||||||
* Used for Both outgoing and incoming tokens
|
* Used for Both outgoing and incoming tokens
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class Token extends ByteArray {
|
class Token extends ByteArray {
|
||||||
|
@ -9,7 +9,7 @@ import net.i2p.data.DataHelper;
|
|||||||
/**
|
/**
|
||||||
* Used to index incoming Tokens
|
* Used to index incoming Tokens
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class TokenKey extends SHA1Hash {
|
class TokenKey extends SHA1Hash {
|
||||||
|
@ -8,7 +8,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
/**
|
/**
|
||||||
* All the torrents
|
* All the torrents
|
||||||
*
|
*
|
||||||
* @since 0.8.4
|
* @since 0.9.2
|
||||||
* @author zzz
|
* @author zzz
|
||||||
*/
|
*/
|
||||||
class Torrents extends ConcurrentHashMap<InfoHash, Peers> {
|
class Torrents extends ConcurrentHashMap<InfoHash, Peers> {
|
||||||
|
Reference in New Issue
Block a user