36 maxWaitInSeconds_{iMaxWaitInSeconds},
37 smName_{uniqueName(iName)},
39 managed_sm_{create_only, smName_.c_str(), 1024},
89 using namespace boost::posix_time;
93 not workerStatus.workerFinished()) {
102 using namespace boost::posix_time;
106 not workerStatus.workerFinished()) {
115 using namespace boost::posix_time;
120 not workerStatus.workerFinished()) {
constexpr char const *const kConditionToMain
boost::interprocess::named_condition cndToMain_
bool wait(boost::interprocess::scoped_lock< boost::interprocess::named_mutex > &lock, edm::Transition iTrans, unsigned long long iTransID)
constexpr char const *const kConditionFromMain
constexpr char const *const kStop
edm::Transition * transitionType_
constexpr char const *const kTransitionType
static std::string to_string(const XMLCh *ch)
unsigned long long * transitionID_
constexpr char const *const kMutex
constexpr char const *const kKeepEvent
uint16_t mem[nChs][nEvts]
unsigned int maxWaitInSeconds_
CheckWorkerStatus initCheckWorkerStatus(unsigned long long *iPtr) const noexcept
std::string uniqueName(std::string iBase) const
boost::interprocess::named_condition cndFromMain_
constexpr char const *const kFromWorkerBufferInfo
ControllerChannel(std::string const &iName, int iID, unsigned int iMaxWaitInSeconds)
constexpr char const *const kTransitionID
constexpr char const *const kToWorkerBufferInfo
boost::interprocess::managed_shared_memory managed_sm_
bool continueWait(boost::interprocess::scoped_lock< boost::interprocess::named_mutex > &lock)
static BufferInfo * bufferInfo(const char *iWhich, boost::interprocess::managed_shared_memory &mem)