rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
rad::TopicSub Class Reference

#include <topicSub.hpp>

Public Types

using TopicHandler_t = std::function< void(const std::string &, const void *, size_t)>
 
using TopicHandlerMap_t = std::unordered_map< std::string, TopicHandler_t >
 
using TopicHandler_t = std::function< void(const std::string &, const void *, size_t)>
 
using TopicHandlerMap_t = std::unordered_map< std::string, TopicHandler_t >
 

Public Member Functions

 TopicSub (boost::asio::io_service &ios, std::unique_ptr< TopicHandler > &&fallback)
 
 ~TopicSub ()
 
void Subscribe (const std::string &topic_name)
 
void Subscribe (const std::string &topic_name, TopicHandler_t handler)
 
void Unsubscribe (const std::string &topic_name)
 
void Connect (const std::string &endpoint)
 
void Disconnect (const std::string &endpoint)
 
void Flush ()
 
 TopicSub (const TopicSub &)=delete
 
TopicSuboperator= (const TopicSub &)=delete
 
 TopicSub (TopicSub &&rhs)=default
 
 TopicSub (boost::asio::io_service &ios, std::unique_ptr< TopicHandler > &&fallback)
 
 ~TopicSub ()
 
void Subscribe (const std::string &topic_name)
 
void Subscribe (const std::string &topic_name, TopicHandler_t handler)
 
void Unsubscribe (const std::string &topic_name)
 
void Connect (const std::string &endpoint)
 
void Disconnect (const std::string &endpoint)
 
void Flush ()
 
 TopicSub (const TopicSub &)=delete
 
TopicSuboperator= (const TopicSub &)=delete
 
 TopicSub (TopicSub &&rhs)=default
 

Detailed Description

Class to subscribe and receive topics.

Todo:
Fix asio ownership problem.

Class to subscribe and receive topics.

Todo:
Fix asio ownership problem.

Member Typedef Documentation

using rad::TopicSub::TopicHandler_t = std::function<void(const std::string&, const void*, size_t)>
using rad::TopicSub::TopicHandler_t = std::function<void(const std::string&, const void*, size_t)>
using rad::TopicSub::TopicHandlerMap_t = std::unordered_map<std::string, TopicHandler_t>
using rad::TopicSub::TopicHandlerMap_t = std::unordered_map<std::string, TopicHandler_t>

Constructor & Destructor Documentation

rad::TopicSub::TopicSub ( boost::asio::io_service &  ios,
std::unique_ptr< TopicHandler > &&  fallback 
)
Parameters
[in]iosReference to the event loop.
[in]fallbackMap of handlers for given topics.
rad::TopicSub::~TopicSub ( )
rad::TopicSub::TopicSub ( const TopicSub )
delete
rad::TopicSub::TopicSub ( TopicSub &&  rhs)
default
rad::TopicSub::TopicSub ( boost::asio::io_service &  ios,
std::unique_ptr< TopicHandler > &&  fallback 
)
rad::TopicSub::~TopicSub ( )
rad::TopicSub::TopicSub ( const TopicSub )
delete
rad::TopicSub::TopicSub ( TopicSub &&  rhs)
default

Member Function Documentation

void rad::TopicSub::Connect ( const std::string &  endpoint)

Connect the socket to an endpoint to receive topics.

Parameters
[in]endpointWhere to get the topics from.
void rad::TopicSub::Connect ( const std::string &  endpoint)
void rad::TopicSub::Disconnect ( const std::string &  endpoint)

Disconnect the socket from an endpoint.

Parameters
[in]endpointWhere to get the topics from.
void rad::TopicSub::Disconnect ( const std::string &  endpoint)
void rad::TopicSub::Flush ( )
void rad::TopicSub::Flush ( )

Flush the socket buffers from topics.

TopicSub& rad::TopicSub::operator= ( const TopicSub )
delete
TopicSub& rad::TopicSub::operator= ( const TopicSub )
delete
void rad::TopicSub::Subscribe ( const std::string &  topic_name)
void rad::TopicSub::Subscribe ( const std::string &  topic_name)

Subscribe to a topic.

Parameters
[in]topic_nameTopic to subscribe.
void rad::TopicSub::Subscribe ( const std::string &  topic_name,
TopicHandler_t  handler 
)
void rad::TopicSub::Subscribe ( const std::string &  topic_name,
TopicHandler_t  handler 
)

Subscribe to a topic.

Parameters
[in]topic_nameTopic to subscribe.
[in]handlerHandler for the subscribed topic_name.
void rad::TopicSub::Unsubscribe ( const std::string &  topic_name)

Unsubscribe a topic.

Parameters
[in]topic_nameTopic to unsubscribe.
void rad::TopicSub::Unsubscribe ( const std::string &  topic_name)

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