Goby3 3.4.0
2026.04.13
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 >

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 482 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 670 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 540 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 486 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 709 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 625 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 507 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 494 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 700 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 527 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 594 of file interprocess.h.


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