#ifndef __TRACKER_H #define __TRACKER_H //To use POSIX TIMER library #define __USE_POSIX199309 1 #include #include #include #include #include #include #include #include #include #include typedef enum { Started, Paused, Stopped } TrackerEvent; class Torrent; class Tracker { public: eventpp::EventDispatcher&)> PeerListUpdated; std::string Address; struct timespec LastPeerRequested; long long int PeerRequestInterval; //In seconds //The Response from tracker... std::string httpWebRequest; Tracker(std::string address); void Request(char* url); void Update(Torrent torrent, TrackerEvent ev, std::string id, int port); //To Implment response from tracker.... void Handle_response(); void ResetLastRequest(); std::string returnTracker(); }; #endif