C# Class Universal.Torrent.Client.Managers.ChokeUnchokeManager

Inheritance: IUnchoker
Datei anzeigen Open project: haroldma/Universal.Torrent

Private Properties

Property Type Description
AllLists IEnumerable
AllocateSlots void
ExecuteReview void
ExecuteTyrantReview void
ReallocateSlot void
ReallocateSlots void
RejectPendingRequests void
SecondsBetween double
UnchokePeerList void

Public Methods

Method Description
Choke ( PeerId peer ) : void
ChokeUnchokeManager ( TorrentManager torrentManager, int minimumTimeBetweenReviews, int percentOfMaxRateToSkipReview ) : System

Initializes a new instance of the ChokeUnchokeManager class.

TimePassed ( ) : void

Executed each tick of the client engine

Unchoke ( PeerId peerToUnchoke ) : void
UnchokeReview ( ) : void

Private Methods

Method Description
AllLists ( ) : IEnumerable
AllocateSlots ( int alreadyUnchoked ) : void
ExecuteReview ( ) : void
ExecuteTyrantReview ( ) : void

Review method for BitTyrant Choking/Unchoking Algorithm

ReallocateSlot ( int &numberOfSlots, int &maximumUnchokes, PeerId peer ) : void

Reallocates the next slot with the specified peer if we can

ReallocateSlots ( int numberOfSlots, int numberOfUnchokedPeers ) : void

Reallocates the specified number of upload slots

RejectPendingRequests ( PeerId peer ) : void

Checks the send queue of the peer to see if there are any outstanding pieces which they requested and rejects them as necessary

SecondsBetween ( System.DateTime firstTime, System.DateTime secondTime ) : double
UnchokePeerList ( List peerList ) : void

Method Details

Choke() public method

public Choke ( PeerId peer ) : void
peer Universal.Torrent.Client.PeerConnections.PeerId
return void

ChokeUnchokeManager() public method

Initializes a new instance of the ChokeUnchokeManager class.
public ChokeUnchokeManager ( TorrentManager torrentManager, int minimumTimeBetweenReviews, int percentOfMaxRateToSkipReview ) : System
torrentManager TorrentManager The torrent manager.
minimumTimeBetweenReviews int The minimum time between reviews.
percentOfMaxRateToSkipReview int The percent of maximum rate to skip review.
return System

TimePassed() public method

Executed each tick of the client engine
public TimePassed ( ) : void
return void

Unchoke() public method

public Unchoke ( PeerId peerToUnchoke ) : void
peerToUnchoke Universal.Torrent.Client.PeerConnections.PeerId
return void

UnchokeReview() public method

public UnchokeReview ( ) : void
return void