|
| InterModulePortalBase (InnerTransporter &inner) |
|
| InterModulePortalBase () |
|
virtual | ~InterModulePortalBase () |
|
| InterProcessTransporterBase (InnerTransporter &inner) |
|
| InterProcessTransporterBase () |
|
virtual | ~InterProcessTransporterBase () |
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | publish_dynamic (const Data &data, const Group &group, const Publisher< Data > &publisher=Publisher< Data >()) |
| Publish a message using a run-time defined DynamicGroup (const reference variant). Where possible, prefer the static variant in StaticTransporterInterface::publish() More...
|
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | publish_dynamic (std::shared_ptr< const Data > data, const Group &group, const Publisher< Data > &publisher=Publisher< Data >()) |
| Publish a message using a run-time defined DynamicGroup (shared pointer to const data variant). Where possible, prefer the static variant in StaticTransporterInterface::publish() More...
|
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | publish_dynamic (std::shared_ptr< Data > data, const Group &group, const Publisher< Data > &publisher=Publisher< Data >()) |
| Publish a message using a run-time defined DynamicGroup (shared pointer to mutable data variant). Where possible, prefer the static variant in StaticTransporterInterface::publish() More...
|
|
void | publish_serialized (std::string type_name, int scheme, const std::vector< char > &bytes, const goby::middleware::Group &group) |
| Publish a message that has already been serialized for the given scheme. More...
|
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | subscribe_dynamic (std::function< void(const Data &)> f, const Group &group, const Subscriber< Data > &subscriber=Subscriber< Data >()) |
| Subscribe to a specific run-time defined group and data type (const reference variant). Where possible, prefer the static variant in StaticTransporterInterface::subscribe() More...
|
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | subscribe_dynamic (std::function< void(std::shared_ptr< const Data >)> f, const Group &group, const Subscriber< Data > &subscriber=Subscriber< Data >()) |
| Subscribe to a specific run-time defined group and data type (shared pointer variant). Where possible, prefer the static variant in StaticTransporterInterface::subscribe() More...
|
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | unsubscribe_dynamic (const Group &group, const Subscriber< Data > &subscriber=Subscriber< Data >()) |
| Unsubscribe to a specific run-time defined group and data type. Where possible, prefer the static variant in StaticTransporterInterface::unsubscribe() More...
|
|
void | unsubscribe_all () |
| Unsubscribe from all current subscriptions. More...
|
|
std::shared_ptr< SerializationSubscriptionRegex > | subscribe_regex (std::function< void(const std::vector< unsigned char > &, int scheme, const std::string &type, const Group &group)> f, const std::set< int > &schemes, const std::string &type_regex=".*", const std::string &group_regex=".*") |
| Subscribe to multiple groups and/or types at once using regular expressions. More...
|
|
template<typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
std::shared_ptr< SerializationSubscriptionRegex > | subscribe_type_regex (std::function< void(std::shared_ptr< const Data >, const std::string &type)> f, const Group &group, const std::string &type_regex=".*") |
| Subscribe to a number of types within a given group and scheme using a regular expression. More...
|
|
template<const Group & group, typename Data , int scheme = InterProcessTransporterBase::scheme<Data>()> |
void | subscribe_type_regex (std::function< void(std::shared_ptr< const Data >, const std::string &type)> f, const std::string &type_regex=".*") |
| Subscribe to a number of types within a given group and scheme using a regular expression. More...
|
|
template<const Group & group> |
void | check_validity () |
| Check validity of the Group for interthread use (at compile time) More...
|
|
void | check_validity_runtime (const Group &group) |
| Check validity of the Group for interthread use (for DynamicGroup at run time) More...
|
|
void | publish (const Data &data, const Publisher< Data > &publisher=Publisher< Data >()) |
| Publish a message (const reference variant) More...
|
|
void | publish (std::shared_ptr< const Data > data, const Publisher< Data > &publisher=Publisher< Data >()) |
| Publish a message (shared pointer to const data variant) More...
|
|
void | publish (std::shared_ptr< Data > data, const Publisher< Data > &publisher=Publisher< Data >()) |
| Publish a message (shared pointer to mutable data variant) More...
|
|
void | subscribe (std::function< void(const Data &)> f, const Subscriber< Data > &subscriber=Subscriber< Data >()) |
| Subscribe to a specific group and data type (const reference variant) More...
|
|
void | subscribe (std::function< void(std::shared_ptr< const Data >)> f, const Subscriber< Data > &subscriber=Subscriber< Data >()) |
| Subscribe to a specific group and data type (shared pointer variant) More...
|
|
void | subscribe (Func f) |
| Simplified version of subscribe() that can deduce Data from the first argument of the function (lambda, function pointer, etc.) passed to it. More...
|
|
void | unsubscribe (const Subscriber< Data > &subscriber=Subscriber< Data >()) |
| Unsubscribe to a specific group and data type. More...
|
|
void | unsubscribe_all () |
| Unsubscribe to all messages that this transporter has subscribed to. More...
|
|
InnerTransporter & | inner () |
|
auto | innermost () |
|
template<class Clock = std::chrono::system_clock, class Duration = typename Clock::duration> |
int | poll (const std::chrono::time_point< Clock, Duration > &timeout=std::chrono::time_point< Clock, Duration >::max()) |
| poll for data. Blocks until a data event occurs or a timeout when a particular time has been reached More...
|
|
template<class Clock = std::chrono::system_clock, class Duration = typename Clock::duration> |
int | poll (Duration wait_for) |
| poll for data. Blocks until a data event occurs or a certain duration of time elapses (timeout) More...
|
|
std::shared_ptr< std::timed_mutex > | poll_mutex () |
| access the mutex used for poll synchronization More...
|
|
std::shared_ptr< std::condition_variable_any > | cv () |
| access the condition variable used for poll synchronization More...
|
|
template<typename Derived, typename InnerTransporter>
class goby::middleware::InterModulePortalBase< Derived, InnerTransporter >
Definition at line 187 of file intermodule.h.