9 #ifndef INCLUDE_OCTOPOS_H_ 10 #define INCLUDE_OCTOPOS_H_ 14 #include <unordered_map> 65 (std::string name,
unsigned size);
122 void topic_reader_in();
127 void topic_reader_out();
132 void topic_writer_in();
137 void topic_writer_out();
144 static std::vector<int> semids;
146 static std::vector<tentacle*> tentacles;
149 static intptr_t *shared_ptr, *shared_end_ptr;
162 static std::unordered_map<std::string,
165 std::vector<std::pair<octopOS_id_t, unsigned>>
170 static std::mutex topic_data_rdlock, topic_data_rdtry,
171 topic_data_wrlock, topic_data_lock;
173 static unsigned topic_data_readers, topic_data_writers;
182 #endif // INCLUDE_OCTOPOS_H_ const unsigned NUMMODULES
Definition: utility.h:30
static void sig_handler(int sig)
Definition: octopos.cpp:28
static void * listen_for_child(void *tentacle_index_dynamic)
Definition: octopos.cpp:153
static octopOS & getInstance()
Definition: octopos.cpp:22
~octopOS()
Definition: octopos.cpp:315
Definition: tentacle.h:31
void operator=(octopOS const &)=delete
bool propagate_to_subscribers(std::string name)
Definition: octopos.cpp:210
std::pair< unsigned, key_t > create_new_topic(std::string name, unsigned size)
Definition: octopos.cpp:118
role_t
Definition: tentacle.h:50
long octopOS_id_t
Definition: utility.h:47
std::pair< unsigned, key_t > subscribe_to_topic(std::string name, unsigned tentacle, octopOS_id_t subscriber_id, long size=-1)
Definition: octopos.cpp:231