Goby3 3.2.3
2025.05.13
Loading...
Searching...
No Matches
goby::middleware::SerializationSubscription< Data, scheme_id > Class Template Reference

Represents a subscription to a serialized data type (interprocess layer). More...

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

Inheritance diagram for goby::middleware::SerializationSubscription< Data, scheme_id >:
goby::middleware::SerializationHandlerBase< Metadata > goby::middleware::SerializationHandlerPostSelector< Metadata, Enable >

Public Types

typedef std::function< void(std::shared_ptr< const Data > data)> HandlerType
 
- Public Types inherited from goby::middleware::SerializationHandlerBase< Metadata >
enum class  SubscriptionAction { SUBSCRIBE , UNSUBSCRIBE , PUBLISHER_CALLBACK }
 

Public Member Functions

 SerializationSubscription (HandlerType handler, const Group &group=Group(Group::broadcast_group), const Subscriber< Data > &subscriber=Subscriber< Data >())
 
std::string::const_iterator post (std::string::const_iterator b, std::string::const_iterator e) const override
 
std::vector< char >::const_iterator post (std::vector< char >::const_iterator b, std::vector< char >::const_iterator e) const override
 
const char * post (const char *b, const char *e) const override
 
SerializationHandlerBase ::SubscriptionAction action () const override
 
const std::string & type_name () const override
 
const Groupsubscribed_group () const override
 
int scheme () const override
 
- Public Member Functions inherited from goby::middleware::SerializationHandlerBase< Metadata >
 SerializationHandlerBase ()=default
 
virtual ~SerializationHandlerBase ()=default
 
std::thread::id thread_id () const
 
virtual std::string subscriber_id () const
 

Detailed Description

template<typename Data, int scheme_id>
class goby::middleware::SerializationSubscription< Data, scheme_id >

Represents a subscription to a serialized data type (interprocess layer).

Template Parameters
DataSubscribed data type
scheme_idMarshalling scheme id (typically MarshallingScheme::MarshallingSchemeEnum).

Definition at line 136 of file serialization_handlers.h.

Member Typedef Documentation

◆ HandlerType

template<typename Data , int scheme_id>
typedef std::function<void(std::shared_ptr<const Data> data)> goby::middleware::SerializationSubscription< Data, scheme_id >::HandlerType

Definition at line 139 of file serialization_handlers.h.

Constructor & Destructor Documentation

◆ SerializationSubscription()

template<typename Data , int scheme_id>
goby::middleware::SerializationSubscription< Data, scheme_id >::SerializationSubscription ( HandlerType  handler,
const Group group = Group(Group::broadcast_group),
const Subscriber< Data > &  subscriber = Subscriber<Data>() 
)
inline

Definition at line 141 of file serialization_handlers.h.

Member Function Documentation

◆ action()

template<typename Data , int scheme_id>
SerializationHandlerBase ::SubscriptionAction goby::middleware::SerializationSubscription< Data, scheme_id >::action ( ) const
inlineoverridevirtual

◆ post() [1/3]

template<typename Data , int scheme_id>
const char * goby::middleware::SerializationSubscription< Data, scheme_id >::post ( const char *  b,
const char *  e 
) const
inlineoverride

Definition at line 166 of file serialization_handlers.h.

◆ post() [2/3]

template<typename Data , int scheme_id>
std::string::const_iterator goby::middleware::SerializationSubscription< Data, scheme_id >::post ( std::string::const_iterator  b,
std::string::const_iterator  e 
) const
inlineoverride

Definition at line 152 of file serialization_handlers.h.

◆ post() [3/3]

template<typename Data , int scheme_id>
std::vector< char >::const_iterator goby::middleware::SerializationSubscription< Data, scheme_id >::post ( std::vector< char >::const_iterator  b,
std::vector< char >::const_iterator  e 
) const
inlineoverride

Definition at line 159 of file serialization_handlers.h.

◆ scheme()

template<typename Data , int scheme_id>
int goby::middleware::SerializationSubscription< Data, scheme_id >::scheme ( ) const
inlineoverridevirtual

◆ subscribed_group()

template<typename Data , int scheme_id>
const Group & goby::middleware::SerializationSubscription< Data, scheme_id >::subscribed_group ( ) const
inlineoverridevirtual

◆ type_name()

template<typename Data , int scheme_id>
const std::string & goby::middleware::SerializationSubscription< Data, scheme_id >::type_name ( ) const
inlineoverridevirtual

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