Package | Description |
---|---|
org.klomp.snark |
I2P version of the snark bittorrent client, imported in 2005 and heavily enhanced
to add a web UI, DHT support, and other features.
|
Modifier and Type | Field and Description |
---|---|
(package private) Deque<Peer> |
PeerCoordinator.peers
synchronize on this when changing peers or downloaders.
|
Modifier and Type | Method and Description |
---|---|
List<Peer> |
Snark.getPeerList() |
Set<Peer> |
TrackerInfo.getPeers() |
List<Peer> |
PeerCoordinator.peerList()
for web page detailed stats
|
Modifier and Type | Method and Description |
---|---|
boolean |
PeerCoordinator.addPeer(Peer peer)
Add peer (inbound or outbound)
|
boolean |
Piece.addPeer(Peer peer)
caller must synchronize
|
int |
Peer.compareTo(Peer p)
Deprecated.
unused?
|
void |
PeerListener.connected(Peer peer)
Called when the connection to the peer has started and the
handshake was successfull.
|
void |
PeerCoordinator.connected(Peer peer) |
void |
PeerListener.disconnected(Peer peer)
Called when the connection to the peer was terminated or the
connection handshake failed.
|
void |
PeerCoordinator.disconnected(Peer peer) |
void |
PeerListener.downloaded(Peer peer,
int size)
Called when a (partial) piece has been downloaded from the peer.
|
void |
PeerCoordinator.downloaded(Peer peer,
int size)
Called when a peer has downloaded some bytes of a piece.
|
PartialPiece |
PeerListener.getPartialPiece(Peer peer,
BitField havePieces)
Called when a peer has connected and there may be a partially
downloaded piece that the coordinatorator can give the peer task
|
PartialPiece |
PeerCoordinator.getPartialPiece(Peer peer,
BitField havePieces)
Return partial piece to the PeerState if it's still wanted and peer has it.
|
boolean |
PeerListener.gotBitField(Peer peer,
BitField bitfield)
Called when a bitmap message is received.
|
boolean |
PeerCoordinator.gotBitField(Peer peer,
BitField bitfield)
Returns true if the given bitfield contains at least one piece we
are interested in.
|
void |
PeerListener.gotChoke(Peer peer,
boolean choke)
Called when a choke message is received.
|
void |
PeerCoordinator.gotChoke(Peer peer,
boolean choke)
this does nothing but logging
|
void |
PeerListener.gotExtension(Peer peer,
int id,
byte[] bs)
Called when an extension message is received.
|
void |
PeerCoordinator.gotExtension(Peer peer,
int id,
byte[] bs)
PeerListener callback
|
boolean |
PeerListener.gotHave(Peer peer,
int piece)
Called when a have piece message is received.
|
boolean |
PeerCoordinator.gotHave(Peer peer,
int piece) |
void |
PeerListener.gotInterest(Peer peer,
boolean interest)
Called when an interested message is received.
|
void |
PeerCoordinator.gotInterest(Peer peer,
boolean interest) |
void |
PeerListener.gotPeers(Peer peer,
List<PeerID> pIDList)
Called when peers are received via PEX
|
void |
PeerCoordinator.gotPeers(Peer peer,
List<PeerID> peers)
Get peers from PEX -
PeerListener callback
|
boolean |
PeerListener.gotPiece(Peer peer,
PartialPiece piece)
Called when a piece is received from the peer.
|
boolean |
PeerCoordinator.gotPiece(Peer peer,
PartialPiece pp)
Returns false if the piece is no good (according to the hash).
|
void |
PeerListener.gotPort(Peer peer,
int port,
int rport)
Called when a DHT port message is received.
|
void |
PeerCoordinator.gotPort(Peer peer,
int port,
int rport)
PeerListener callback
Tell the DHT to ping it, this will get back the node info
|
ByteArray |
PeerListener.gotRequest(Peer peer,
int piece,
int off,
int len)
Called when the peer wants (part of) a piece from us.
|
ByteArray |
PeerCoordinator.gotRequest(Peer peer,
int piece,
int off,
int len)
Returns a byte array containing the requested piece or null of
the piece is unknown.
|
static void |
ExtensionHandler.handleMessage(Peer peer,
PeerListener listener,
int id,
byte[] bs) |
boolean |
Piece.isRequestedBy(Peer peer)
Is peer requesting this piece?
Caller must synchronize
|
boolean |
PeerListener.needPiece(Peer peer,
BitField bitfield)
Called when we are downloading from the peer and may need to ask for
a new piece.
|
boolean |
PeerCoordinator.needPiece(Peer peer,
BitField havePieces)
Called when we are downloading from the peer and may need to ask for
a new piece.
|
void |
Snark.peerChange(PeerCoordinator coordinator,
Peer peer)
CoordinatorListener - this does nothing
|
void |
CoordinatorListener.peerChange(PeerCoordinator coordinator,
Peer peer)
Called when the PeerCoordinator notices a change in the state of a peer.
|
boolean |
Piece.removePeer(Peer peer)
Caller must synchronize.
|
void |
PeerListener.savePartialPieces(Peer peer,
List<Request> pcs)
Called when the peer has disconnected and the peer task may have a partially
downloaded piece that the PeerCoordinator can save
|
void |
PeerCoordinator.savePartialPieces(Peer peer,
List<Request> partials)
Save partial pieces on peer disconnection
and hopefully restart it later.
|
(package private) void |
PeerCoordinator.sendDHT(Peer peer)
Send a DHT message to the peer, if we both support DHT.
|
static void |
ExtensionHandler.sendDHT(Peer peer,
int qport,
int rport)
Send the DHT port numbers
|
(package private) void |
PeerCoordinator.sendPeers(Peer peer)
Send a PEX message to the peer, if he supports PEX.
|
static void |
ExtensionHandler.sendPEX(Peer peer,
List<Peer> pList)
added.f and dropped unsupported
|
void |
Piece.setRequested(Peer peer,
boolean requested)
Since 0.8.3, keep track of who is requesting here,
to avoid deadlocks from querying each peer.
|
void |
PeerListener.uploaded(Peer peer,
int size)
Called when a (partial) piece has been uploaded to the peer.
|
void |
PeerCoordinator.uploaded(Peer peer,
int size)
Called when a peer has uploaded some bytes of a piece.
|
int |
PeerListener.wantPiece(Peer peer,
BitField bitfield)
Called when we are downloading from the peer and need to ask for
a new piece.
|
int |
PeerCoordinator.wantPiece(Peer peer,
BitField havePieces)
Returns one of pieces in the given BitField that is still wanted or
-1 if none of the given pieces are wanted.
|
Modifier and Type | Method and Description |
---|---|
static void |
ExtensionHandler.sendPEX(Peer peer,
List<Peer> pList)
added.f and dropped unsupported
|
Constructor and Description |
---|
PeerConnectionIn(Peer peer,
DataInputStream din) |
PeerConnectionOut(Peer peer,
DataOutputStream dout) |
PeerState(Peer peer,
PeerListener listener,
MetaInfo metainfo,
PeerConnectionIn in,
PeerConnectionOut out) |