libktorrent  2.1.1
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)
 
TrackerInterface * addTracker (const QUrl &url, bool custom=true, int tier=1) override
 
bool canRemoveTracker (TrackerInterface *t) override
 
virtual void completed ()
 
TrackerInterface * getCurrentTracker () const override
 
Uint32 getNumLeechers () const
 Get the number of leechers.
 
Uint32 getNumSeeders () const
 Get the number of seeders.
 
QList< TrackerInterface * > getTrackers () 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 SHA1Hash & infoHash () const override
 
bool isPartialSeed () const override
 
void loadCustomURLs ()
 
void loadTrackerStatus ()
 
void saveCustomURLs ()
 
void saveTrackerStatus ()
 
Tracker * selectTracker ()
 
void switchTracker (Tracker *trk)
 

Protected Attributes

Tracker * curr
 
QList< QUrl > custom_trackers
 
bool no_save_custom_trackers
 
PeerManager * pman
 
bool started
 
TorrentControl * tor
 
PtrMap< QUrl, Tracker > trackers
 

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.

◆ 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: