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 class
private static class
private class
private class
Nested classes/interfaces inherited from interface com.biglybt.core.peer.impl.PEPeerControlHashHandler
PEPeerControlHashHandler.HashesReceiver
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DiskManager
private final ByteArrayHashMap<TOTorrentFileHashTree>
private final Map<TOTorrentFileHashTree,
PEPeerControlHashHandlerImpl.PeerHashRequest> private final Set<TOTorrentFileHashTree>
private static final Object
private long
private long
private final PEPeerControlImpl
private AtomicInteger
private final int
private PEPeerControlHashHandlerImpl.PeerHashRequest[][]
private final int
private final Map<Integer,
PEPeerControlHashHandlerImpl.PieceTreeRequest> private boolean
private final TOTorrent
-
Constructor Summary
ConstructorsConstructorDescriptionPEPeerControlHashHandlerImpl
(PEPeerControlImpl _peer_manager, TOTorrent _torrent, DiskManager _disk_manager) -
Method Summary
Modifier and TypeMethodDescriptionvoid
getPieceTree
(TOTorrentFileHashTree.PieceTreeReceiver receiver, TOTorrentFileHashTree tree, int piece_offset) boolean
hashRequest
(int piece_number, DiskManagerCheckRequestListener.HashListener listener) hashRequestSupport
(int piece_number, DiskManagerCheckRequestListener.HashListener listener) void
receivedHashes
(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) void
receivedHashRequest
(PEPeerTransport peer, PEPeerControlHashHandler.HashesReceiver receiver, byte[] root_hash, int base_layer, int index, int length, int proof_layers) private void
receivedOrRejectedHashes
(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) void
rejectedHashes
(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers) private void
request
(PEPeerTransport peer, int piece_number, DiskManagerCheckRequestListener.HashListener listener_maybe_null) void
sendingRequest
(PEPeerTransport peer, DiskManagerReadRequest request) void
stop()
void
update()
-
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:
stop
in interfacePEPeerControlHashHandler
-
update
public void update()- Specified by:
update
in interfacePEPeerControlHashHandler
-
request
private PEPeerControlHashHandlerImpl.PeerHashRequest request(PEPeerTransport peer, int piece_number, DiskManagerCheckRequestListener.HashListener listener_maybe_null) -
hashRequest
- Specified by:
hashRequest
in interfacePEPeerControlHashHandler
-
hashRequestSupport
private PEPeerControlHashHandlerImpl.PeerHashRequest hashRequestSupport(int piece_number, DiskManagerCheckRequestListener.HashListener listener) -
sendingRequest
- Specified by:
sendingRequest
in interfacePEPeerControlHashHandler
-
receivedHashes
public void receivedHashes(PEPeerTransport peer, byte[] root_hash, int base_layer, int index, int length, int proof_layers, byte[][] hashes) - Specified by:
receivedHashes
in 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:
rejectedHashes
in 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:
receivedHashRequest
in interfacePEPeerControlHashHandler
-
getPieceTree
public void getPieceTree(TOTorrentFileHashTree.PieceTreeReceiver receiver, TOTorrentFileHashTree tree, int piece_offset) - Specified by:
getPieceTree
in interfaceTOTorrentFileHashTree.PieceTreeProvider
-