48 explicit CSiteList(
int numThreads = 1,
int sleepTime = 100,
49 int checkInterval = 60);
62 void clear()
override;
116 bool addSite(std::shared_ptr<CSite> site);
134 std::shared_ptr<CSite>
getSite(std::string scnl);
149 std::shared_ptr<CSite>
getSite(std::string site, std::string comp,
150 std::string net, std::string loc);
244 std::vector<std::shared_ptr<CSite>> m_vSite;
250 std::map<std::string, std::shared_ptr<CSite>> m_mSite;
256 std::map<std::string, int> m_mLastTimeSiteLookedUp;
265 mutable std::recursive_mutex m_SiteListMutex;
271 std::atomic<double> m_tLastChecked;
277 std::atomic<int> m_iHoursBeforeLookingUp;
283 std::atomic<int> m_iMaxHoursWithoutPicking;
289 std::atomic<int> m_iMaxPicksPerHour;
295 std::atomic<int> m_tLastUpdated;
300 std::atomic<int> m_tCreated;
306 static const int k_nHoursToSeconds = 3600;
void setMaxPicksPerHour(int maxPicksPerHour)
Set the maximum picks per hour before a site is declared too noisy to use, a -1 disables this metric...
Definition: SiteList.cpp:717
glasscore site list class
Definition: SiteList.h:40
~CSiteList()
CSiteList destructor.
Definition: SiteList.cpp:32
int getMaxHoursWithoutPicking() const
Get the maximum hours without picking before a site is declared nonresponsive and unused...
Definition: SiteList.cpp:702
bool receiveExternalMessage(std::shared_ptr< json::Object > com)
CSiteList communication receiving function.
Definition: SiteList.cpp:58
int getMaxPicksPerHour() const
Get the maximum picks per hour before a site is declared too noisy to use, a -1 disables this metric...
Definition: SiteList.cpp:722
std::shared_ptr< CSite > getSite(std::string scnl)
Get site by scnl.
Definition: SiteList.cpp:306
int size() const
CSiteList Site count function.
Definition: SiteList.cpp:495
bool addListOfSitesFromJSON(std::shared_ptr< json::Object > com)
CSiteList add list of sites function.
Definition: SiteList.cpp:144
std::vector< std::shared_ptr< CSite > > getListOfSites()
Get current list of sites.
Definition: SiteList.cpp:429
WorkState
glass3::util::WorkState enumeration
Definition: workstate.h:25
void setHoursBeforeLookingUp(int hoursBeforeLookingUp)
Set the maximum hours between requesting site information from outside glasscore, a -1 disables this ...
Definition: SiteList.cpp:707
CSiteList(int numThreads=1, int sleepTime=100, int checkInterval=60)
CSiteList constructor.
Definition: SiteList.cpp:22
void setMaxHoursWithoutPicking(int hoursWithoutPicking)
Set the maximum hours without picking before a site is declared nonresponsive and unused...
Definition: SiteList.cpp:697
void clear() override
CSiteList clear function.
Definition: SiteList.cpp:36
glass3::util::WorkState work() override
SiteList work function.
Definition: SiteList.cpp:501
std::shared_ptr< json::Object > generateSiteListMessage(bool send=true)
Generate SiteList message.
Definition: SiteList.cpp:444
int getLastUpdated() const
Get last time in epoch seconds the site list was modified.
Definition: SiteList.cpp:727
The namespace containing the core algorithm.
Definition: Correlation.h:17
bool addSite(std::shared_ptr< CSite > site)
CSiteList add/update site function.
Definition: SiteList.cpp:258
int getHoursBeforeLookingUp() const
Get the maximum hours between requesting site information from outside glasscore, a -1 disables this ...
Definition: SiteList.cpp:712
glass3::util::ThreadBaseClass class
Definition: threadbaseclass.h:34
bool addSiteFromJSON(std::shared_ptr< json::Object > com)
CSiteList add/update site function.
Definition: SiteList.cpp:101