Class PEPeerControlHashHandlerImpl
java.lang.Object
com.biglybt.core.peer.impl.control.PEPeerControlHashHandlerImpl
- All Implemented Interfaces:
PEPeerControlHashHandler, TOTorrentFileHashTree.PieceTreeProvider
public class PEPeerControlHashHandlerImpl
extends Object
implements PEPeerControlHashHandler, TOTorrentFileHashTree.PieceTreeProvider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classprivate classprivate classNested classes/interfaces inherited from interface PEPeerControlHashHandler
PEPeerControlHashHandler.HashesReceiver -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DiskManagerprivate final ByteArrayHashMap<TOTorrentFileHashTree> private final Map<TOTorrentFileHashTree, PEPeerControlHashHandlerImpl.PeerHashRequest> private final Set<TOTorrentFileHashTree> private static final Objectprivate longprivate longprivate final PEPeerControlImplprivate AtomicIntegerprivate final intprivate PEPeerControlHashHandlerImpl.PeerHashRequest[][]private final intprivate final Map<Integer, PEPeerControlHashHandlerImpl.PieceTreeRequest> private booleanprivate final TOTorrent -
Constructor Summary
ConstructorsConstructorDescriptionPEPeerControlHashHandlerImpl(PEPeerControlImpl _peer_manager, TOTorrent _torrent, DiskManager _disk_manager) -
Method Summary
Modifier and TypeMethodDescriptionvoidgetPieceTree(TOTorrentFileHashTree.PieceTreeReceiver receiver, TOTorrentFileHashTree tree, int piece_offset) booleanhashRequest(int piece_number, DiskManagerCheckRequestListener.HashListener listener) hashRequestSupport(int piece_number, DiskManagerCheckRequestListener.HashListener listener) voidreceivedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) voidreceivedHashRequest(PEPeerTransport peer, PEPeerControlHashHandler.HashesReceiver receiver, byte[] root_hash, int base_layer, int index, int length, int proof_layers) private voidreceivedOrRejectedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) voidrejectedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers) private voidrequest(PEPeerTransport peer, int piece_number, DiskManagerCheckRequestListener.HashListener listener_maybe_null) voidsendingRequest(PEPeerTransport peer, DiskManagerReadRequest request) voidstop()voidupdate()
-
Field Details
-
KEY_PEER_STATS
-
peer_manager
-
torrent
-
disk_manager
-
piece_length
private final int piece_length -
file_map
-
last_update
private long last_update -
active_requests
-
peer_requests
-
piece_requests
-
piece_hashes_received
-
save_done_on_complete
private boolean save_done_on_complete -
incomplete_trees
-
incomplete_tree_reqs
private final Map<TOTorrentFileHashTree, PEPeerControlHashHandlerImpl.PeerHashRequest> incomplete_tree_reqs -
PIECE_TREE_CACHE_MAX
private final int PIECE_TREE_CACHE_MAX- See Also:
-
piece_tree_cache
-
last_piece_tree_request
private volatile long last_piece_tree_request -
piece_tree_requests
-
-
Constructor Details
-
PEPeerControlHashHandlerImpl
public PEPeerControlHashHandlerImpl(PEPeerControlImpl _peer_manager, TOTorrent _torrent, DiskManager _disk_manager)
-
-
Method Details
-
stop
public void stop()- Specified by:
stopin interfacePEPeerControlHashHandler
-
update
public void update()- Specified by:
updatein interfacePEPeerControlHashHandler
-
request
private PEPeerControlHashHandlerImpl.PeerHashRequest request(PEPeerTransport peer, int piece_number, DiskManagerCheckRequestListener.HashListener listener_maybe_null) -
hashRequest
- Specified by:
hashRequestin interfacePEPeerControlHashHandler
-
hashRequestSupport
private PEPeerControlHashHandlerImpl.PeerHashRequest hashRequestSupport(int piece_number, DiskManagerCheckRequestListener.HashListener listener) -
sendingRequest
- Specified by:
sendingRequestin interfacePEPeerControlHashHandler
-
receivedHashes
public void receivedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) - Specified by:
receivedHashesin interfacePEPeerControlHashHandler
-
receivedOrRejectedHashes
private void receivedOrRejectedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) -
removeFromPieceRequests
-
rejectedHashes
public void rejectedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers) - Specified by:
rejectedHashesin interfacePEPeerControlHashHandler
-
receivedHashRequest
public void receivedHashRequest(PEPeerTransport peer, PEPeerControlHashHandler.HashesReceiver receiver, byte[] root_hash, int base_layer, int index, int length, int proof_layers) - Specified by:
receivedHashRequestin interfacePEPeerControlHashHandler
-
getPieceTree
public void getPieceTree(TOTorrentFileHashTree.PieceTreeReceiver receiver, TOTorrentFileHashTree tree, int piece_offset) - Specified by:
getPieceTreein interfaceTOTorrentFileHashTree.PieceTreeProvider
-