libktorrent  2.2.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
bt::TrackerManager Class Reference

#include <trackermanager.h>

Inheritance diagram for bt::TrackerManager:
Inheritance graph
[legend]

Public Member Functions

 TrackerManager (TorrentControl *tor, PeerManager *pman)
 
TrackerInterfaceaddTracker (const QUrl &url, bool custom=true, int tier=1) override
 
bool canRemoveTracker (TrackerInterface *t) override
 
virtual void completed ()
 
TrackerInterfacegetCurrentTracker () const override
 
Uint32 getNumLeechers () const
 Get the number of leechers.
 
Uint32 getNumSeeders () const
 Get the number of seeders.
 
QList< TrackerInterface * > getTrackers () override
 
TrackersStatusInfo getTrackersStatusInfo () const override
 
virtual void manualUpdate ()
 
bool noTrackersReachable () const override
 
bool removeTracker (const QUrl &url) override
 
bool removeTracker (TrackerInterface *t) override
 
void restoreDefault () override
 
virtual void scrape ()
 
void setCurrentTracker (const QUrl &url) override
 
void setCurrentTracker (TrackerInterface *t) override
 
void setTrackerEnabled (const QUrl &url, bool on) override
 
virtual void start ()
 
virtual void stop (WaitJob *wjob=0)
 
- Public Member Functions inherited from bt::TrackersList
void merge (const bt::TrackerTier *first)
 

Protected Member Functions

void addTracker (Tracker *trk)
 
Uint64 bytesDownloaded () const override
 
Uint64 bytesLeft () const override
 
Uint64 bytesUploaded () const override
 
const SHA1HashinfoHash () const override
 
bool isPartialSeed () const override
 
void loadCustomURLs ()
 
void loadTrackerStatus ()
 
void saveCustomURLs ()
 
void saveTrackerStatus ()
 
TrackerselectTracker ()
 
void switchTracker (Tracker *trk)
 

Protected Attributes

Trackercurr
 
QList< QUrl > custom_trackers
 
bool no_save_custom_trackers
 
PeerManagerpman
 
bool started
 
TorrentControltor
 
PtrMap< QUrl, Trackertrackers
 

Detailed Description

Manages all trackers

Definition at line 60 of file trackermanager.h.

Member Function Documentation

◆ addTracker()

TrackerInterface* bt::TrackerManager::addTracker ( const QUrl &  url,
bool  custom = true,
int  tier = 1 
)
overridevirtual

Adds a tracker URL to the list.

Parameters
urlThe URL
customIs it a custom tracker
tierWhich tier (or priority) the tracker has, tier 1 are the main trackers, tier 2 are backups ...
Returns
The Tracker

Implements bt::TrackersList.

◆ canRemoveTracker()

bool bt::TrackerManager::canRemoveTracker ( TrackerInterface t)
overridevirtual

Return true if a tracker can be removed

Parameters
tThe tracker

Implements bt::TrackersList.

◆ completed()

virtual void bt::TrackerManager::completed ( )
virtual

Notify peersources and trackrs that the download is complete.

Reimplemented in bt::PeerSourceManager.

◆ getCurrentTracker()

TrackerInterface* bt::TrackerManager::getCurrentTracker ( ) const
overridevirtual

Get the current tracker (for non private torrents this returns 0, seeing that all trackers are used at the same time)

Implements bt::TrackersList.

◆ getTrackers()

QList<TrackerInterface*> bt::TrackerManager::getTrackers ( )
overridevirtual

Gets a list of all available trackers.

Implements bt::TrackersList.

◆ getTrackersStatusInfo()

TrackersStatusInfo bt::TrackerManager::getTrackersStatusInfo ( ) const
overridevirtual

Returns true if any tracker has time out error

Implements bt::TrackersList.

◆ manualUpdate()

virtual void bt::TrackerManager::manualUpdate ( )
virtual

Do a manual update on all peer sources and trackers.

Reimplemented in bt::PeerSourceManager.

◆ noTrackersReachable()

bool bt::TrackerManager::noTrackersReachable ( ) const
overridevirtual

Returns true if no tracker is reachable

Implements bt::TrackersList.

◆ removeTracker() [1/2]

bool bt::TrackerManager::removeTracker ( const QUrl &  url)
overridevirtual

Removes the tracker from the list.

Parameters
urlThe tracker url

Implements bt::TrackersList.

◆ removeTracker() [2/2]

bool bt::TrackerManager::removeTracker ( TrackerInterface t)
overridevirtual

Removes the tracker from the list.

Parameters
tThe Tracker

Implements bt::TrackersList.

◆ restoreDefault()

void bt::TrackerManager::restoreDefault ( )
overridevirtual

Restores the default tracker and does the announce.

Implements bt::TrackersList.

◆ scrape()

virtual void bt::TrackerManager::scrape ( )
virtual

Do a scrape on the current tracker

◆ setCurrentTracker() [1/2]

void bt::TrackerManager::setCurrentTracker ( const QUrl &  url)
overridevirtual

Sets the current tracker and does the announce. For non private torrents, this does nothing.

Parameters
urlUrl of the tracker

Implements bt::TrackersList.

◆ setCurrentTracker() [2/2]

void bt::TrackerManager::setCurrentTracker ( TrackerInterface t)
overridevirtual

Sets the current tracker and does the announce. For non private torrents, this does nothing.

Parameters
tThe Tracker

Implements bt::TrackersList.

◆ setTrackerEnabled()

void bt::TrackerManager::setTrackerEnabled ( const QUrl &  url,
bool  on 
)
overridevirtual

Set a tracker enabled or not

Implements bt::TrackersList.

◆ start()

virtual void bt::TrackerManager::start ( )
virtual

Start gathering peers

Reimplemented in bt::PeerSourceManager.

◆ stop()

virtual void bt::TrackerManager::stop ( WaitJob wjob = 0)
virtual

Stop gathering peers

Parameters
wjobWaitJob to wait at exit for the completion of stopped events to the trackers

Reimplemented in bt::PeerSourceManager.


The documentation for this class was generated from the following file: