Goby3 3.5.1
2026.06.04
Loading...
Searching...
No Matches
goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter > Class Template Reference

#include <goby/middleware/transport/interprocess.h>

Inheritance diagram for goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >:
goby::middleware::InterProcessIdentifierManager goby::middleware::InterModulePortalBase< Derived, InnerTransporter, ImplementationTag > goby::middleware::InterProcessPortalBase< Derived, InnerTransporter, ImplementationTag > goby::udpm::InterProcessPortalImplementation< InnerTransporter, middleware::InterModulePortalBase, detail::InterModuleTag > goby::zeromq::InterProcessPortalImplementation< InnerTransporter, middleware::InterModulePortalBase, detail::InterModuleTag > goby::udpm::InterProcessPortalImplementation< InnerTransporter, middleware::InterProcessPortalBase, detail::InterProcessTag > goby::zeromq::InterProcessPortalImplementation< InnerTransporter, middleware::InterProcessPortalBase, detail::InterProcessTag >

Protected Member Functions

template<typename Data, int scheme>
void _publish (const Data &d, const goby::middleware::Group &group, const middleware::Publisher< Data > &)
std::shared_ptr< middleware::SerializationSubscriptionRegex_subscribe_regex (std::function< void(const std::vector< unsigned char > &, int scheme, const std::string &type, const goby::middleware::Group &group)> f, const std::set< int > &schemes, const std::string &type_regex, const std::string &group_regex)
template<typename Data, int scheme>
void _subscribe (std::function< void(std::shared_ptr< const Data > d)> f, const goby::middleware::Group &group, const middleware::Subscriber< Data > &)
template<typename Data, int scheme>
void _unsubscribe (const goby::middleware::Group &group, const middleware::Subscriber< Data > &=middleware::Subscriber< Data >())
void _handle_received_data (std::unique_ptr< std::unique_lock< std::mutex > > &lock, const std::string &data)
void _unsubscribe_all (const std::string &subscriber_id=middleware::identifier_part_to_string(std::this_thread::get_id()))
void _receive_subscription_forwarded (const std::shared_ptr< const middleware::SerializationHandlerBase<> > &subscription)
void _forwarder_unsubscribe (const std::string &subscriber_id, const std::string &identifier)
void _subscribe_regex_serialized (const std::shared_ptr< const middleware::SerializationSubscriptionRegex > &new_sub)
void _publish_serialized (std::string type_name, int scheme, const std::vector< char > &bytes, const goby::middleware::Group &group)
Protected Member Functions inherited from goby::middleware::InterProcessIdentifierManager
template<typename Data, int scheme>
std::string _make_identifier (const goby::middleware::Group &group, IdentifierWildcard wildcard)
template<typename Data, int scheme>
std::string _make_identifier (const Data &d, const goby::middleware::Group &group, IdentifierWildcard wildcard)
std::string _make_identifier (const std::string &type_name, int scheme, const std::string &group, IdentifierWildcard wildcard)

Additional Inherited Members

Static Public Member Functions inherited from goby::middleware::InterProcessIdentifierManager
static std::string make_identifier (const std::string &type_name, int scheme, const std::string &group, IdentifierWildcard wildcard, const std::string &process, std::unordered_map< int, std::string > *schemes_buffer=nullptr, std::unordered_map< std::thread::id, std::string > *threads_buffer=nullptr)
static std::tuple< std::string, int, std::string, int, std::size_t > parse_identifier (const std::string &identifier)
Static Public Attributes inherited from goby::middleware::InterProcessIdentifierManager
static const char delimiter
static const char delimiter_substitute
static const char end_delimiter

Detailed Description

template<typename Derived, typename InnerTransporter>
class goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >

Definition at line 483 of file interprocess.h.

Member Function Documentation

◆ _forwarder_unsubscribe()

template<typename Derived, typename InnerTransporter>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_forwarder_unsubscribe ( const std::string & subscriber_id,
const std::string & identifier )
inlineprotected

Definition at line 671 of file interprocess.h.

◆ _handle_received_data()

template<typename Derived, typename InnerTransporter>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_handle_received_data ( std::unique_ptr< std::unique_lock< std::mutex > > & lock,
const std::string & data )
inlineprotected

Definition at line 541 of file interprocess.h.

◆ _publish()

template<typename Derived, typename InnerTransporter>
template<typename Data, int scheme>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_publish ( const Data & d,
const goby::middleware::Group & group,
const middleware::Publisher< Data > &  )
inlineprotected

Definition at line 487 of file interprocess.h.

◆ _publish_serialized()

template<typename Derived, typename InnerTransporter>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_publish_serialized ( std::string type_name,
int scheme,
const std::vector< char > & bytes,
const goby::middleware::Group & group )
inlineprotected

Definition at line 710 of file interprocess.h.

◆ _receive_subscription_forwarded()

template<typename Derived, typename InnerTransporter>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_receive_subscription_forwarded ( const std::shared_ptr< const middleware::SerializationHandlerBase<> > & subscription)
inlineprotected

Definition at line 626 of file interprocess.h.

◆ _subscribe()

template<typename Derived, typename InnerTransporter>
template<typename Data, int scheme>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_subscribe ( std::function< void(std::shared_ptr< const Data > d)> f,
const goby::middleware::Group & group,
const middleware::Subscriber< Data > &  )
inlineprotected

Definition at line 508 of file interprocess.h.

◆ _subscribe_regex()

template<typename Derived, typename InnerTransporter>
std::shared_ptr< middleware::SerializationSubscriptionRegex > goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_subscribe_regex ( std::function< void(const std::vector< unsigned char > &, int scheme, const std::string &type, const goby::middleware::Group &group)> f,
const std::set< int > & schemes,
const std::string & type_regex,
const std::string & group_regex )
inlineprotected

Definition at line 495 of file interprocess.h.

◆ _subscribe_regex_serialized()

template<typename Derived, typename InnerTransporter>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_subscribe_regex_serialized ( const std::shared_ptr< const middleware::SerializationSubscriptionRegex > & new_sub)
inlineprotected

Definition at line 701 of file interprocess.h.

◆ _unsubscribe()

template<typename Derived, typename InnerTransporter>
template<typename Data, int scheme>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_unsubscribe ( const goby::middleware::Group & group,
const middleware::Subscriber< Data > & = middleware::Subscriber<Data>() )
inlineprotected

Definition at line 528 of file interprocess.h.

◆ _unsubscribe_all()

template<typename Derived, typename InnerTransporter>
void goby::middleware::InterProcessPortalCommon< Derived, InnerTransporter >::_unsubscribe_all ( const std::string & subscriber_id = middleware::identifier_part_to_string(std::this_thread::get_id()))
inlineprotected

Definition at line 595 of file interprocess.h.


The documentation for this class was generated from the following file: