com.aelitis.azureus.core.peermanager.unchoker
Interface Unchoker

All Known Implementing Classes:
DownloadingUnchoker, SeedingUnchoker

public interface Unchoker

Performs peer choke/unchoke calculations.


Method Summary
 void calculateUnchokes(int max_to_unchoke, ArrayList<PEPeer> all_peers, boolean force_refresh, boolean check_priority_connections, boolean do_high_latency_peers)
          Perform peer choke, unchoke and optimistic calculations
 ArrayList<PEPeer> getChokes()
          Get the list of peers calculated to be choked.
 ArrayList<PEPeer> getImmediateUnchokes(int max_to_unchoke, ArrayList<PEPeer> all_peers)
          Get any unchokes that should be performed immediately.
 ArrayList<PEPeer> getUnchokes()
          Get the list of peers calculated to be unchoked.
 boolean isSeedingUnchoker()
           
 

Method Detail

isSeedingUnchoker

boolean isSeedingUnchoker()

getImmediateUnchokes

ArrayList<PEPeer> getImmediateUnchokes(int max_to_unchoke,
                                       ArrayList<PEPeer> all_peers)
Get any unchokes that should be performed immediately.

Parameters:
max_to_unchoke - maximum number of peers allowed to be unchoked
all_peers - list of peers to choose from
Returns:
peers to unchoke

calculateUnchokes

void calculateUnchokes(int max_to_unchoke,
                       ArrayList<PEPeer> all_peers,
                       boolean force_refresh,
                       boolean check_priority_connections,
                       boolean do_high_latency_peers)
Perform peer choke, unchoke and optimistic calculations

Parameters:
max_to_unchoke - maximum number of peers allowed to be unchoked
all_peers - list of peers to choose from
force_refresh - force a refresh of optimistic unchokes

getChokes

ArrayList<PEPeer> getChokes()
Get the list of peers calculated to be choked.

Returns:
peers to choke

getUnchokes

ArrayList<PEPeer> getUnchokes()
Get the list of peers calculated to be unchoked.

Returns:
peers to unchoke