1#ifndef __JRUNCONTROL__JCLIENTLIST__
2#define __JRUNCONTROL__JCLIENTLIST__
41 return first.getFullName() < second.getFullName();
55 return client.getFullName() < full_name;
80 iterator i = std::lower_bound(this->begin(), this->end(), client, comparator);
82 if (i == this->end() || comparator(client, *i)) {
86 return std::make_pair(i,
true);
90 return std::make_pair(i,
false);
103 iterator i = std::lower_bound(this->begin(), this->end(), client, comparator);
105 if (i != this->end() && !comparator(*i, client))
122 iterator i = std::lower_bound(this->begin(), this->end(), full_name, comparator);
124 if (i != this->end() && !comparator(*i, full_name))
136 for (
iterator i = this->begin(); i != this->end(); ++i) {
137 if (i->getMode() == JClient::ACTIVE) {
149 void stop(
const int signal = -9)
151 for (
iterator i = this->begin(); i != this->end(); ++i) {
152 if (i->getBorn() > i->getDied()) {
169 for (const_iterator i = this->begin(); i != this->end(); ++i) {
170 if (i->getMode() == mode) {
188 for (const_iterator i = this->begin(); i != this->end(); ++i) {
189 if (i->getMode() == JClient::ACTIVE && i->getBorn() > i->getDied()) {
204 unsigned int count(
const CHSM::state& state)
const
208 for (const_iterator i = this->begin(); i != this->end(); ++i) {
209 if (i->getMode() == JClient::ACTIVE && i->getStatename() ==
getStateName(state.name())) {
List of ControlHost client managers.
ControlHost client manager.
Auxiliary class for comparing clients.
bool operator()(const JClient &first, const JClient &second) const
Less than operator.
bool operator()(const JClient &client, const std::string &full_name) const
Less than operator.
void stop(const int signal=-9)
Stop processes.
unsigned int count(const JClient::JMode mode) const
Get number of clients with given mode.
iterator find(const std::string &buffer)
Find client by its full name.
void start()
Start processes.
std::pair< iterator, bool > insert(const JClient &client)
Insert client.
unsigned int count(const CHSM::state &state) const
Get number of active clients in given state.
unsigned int count() const
Get number of active clients with born count exceeding died count.
const JComparator comparator
JClientList()
Default constructor.
iterator find(const JClient &client)
Find client.
KM3NeT DAQ data structures and auxiliaries.
std::string getFullName(const std::string &hostname, const std::string &name)
Get full name of run control client.
std::string getStateName(const std::string &name)
Get name of state.