DDS  ver. 3.6
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
dds::protocol_api::CBaseSMChannelImpl< T > Class Template Reference

#include <BaseSMChannelImpl.h>

Inheritance diagram for dds::protocol_api::CBaseSMChannelImpl< T >:
dds::protocol_api::CChannelEventHandlersImpl dds::protocol_api::CChannelMessageHandlersImpl dds::protocol_api::CBaseEventHandlersImpl< EChannelEvents > dds::protocol_api::CBaseEventHandlersImpl< ECmdType >

Public Types

typedef std::shared_ptr< T > connectionPtr_t
 
typedef std::weak_ptr< T > weakConnectionPtr_t
 

Public Member Functions

 DDS_DECLARE_EVENT_HANDLER_CLASS (CChannelEventHandlersImpl) DDS_DECLARE_EVENT_HANDLER_CLASS(CChannelMessageHandlersImpl) protected
 
 CBaseSMChannelImpl (boost::asio::io_context &_service, const std::vector< std::string > &_inputNames, const std::string &_outputName, uint64_t _protocolHeaderID, EMQOpenType _inputOpenType, EMQOpenType _outputOpenType)
 
void defaultInit (const std::vector< std::string > _inputNames, const std::string &_outputName, EMQOpenType _inputOpenType, EMQOpenType _outputOpenType)
 
 ~CBaseSMChannelImpl ()
 
uint64_t getProtocolHeaderID () const
 
void addOutput (uint64_t _outputID, const std::string &_name, EMQOpenType _openType=EMQOpenType::OpenOrCreate)
 
bool started () const
 
void start ()
 
void stop ()
 
void removeMessageQueue ()
 
void pushMsg (CProtocolMessage::protocolMessagePtr_t _msg, ECmdType _cmd, uint64_t _outputID=0)
 
template<ECmdType _cmd, class A >
void pushMsg (const A &_attachment, uint64_t _protocolHeaderID=0, uint64_t _outputID=0)
 
template<ECmdType _cmd>
void pushMsg (uint64_t _protocolHeaderID=0, uint64_t _outputID=0)
 
void drainWriteQueue (bool _newVal, uint64_t _outputID)
 

Static Public Member Functions

static connectionPtr_t makeNew (boost::asio::io_context &_service, const std::string &_inputName, const std::string &_outputName, uint64_t _ProtocolHeaderID, EMQOpenType _inputOpenType=EMQOpenType::OpenOrCreate, EMQOpenType _outputOpenType=EMQOpenType::OpenOrCreate)
 
static connectionPtr_t makeNew (boost::asio::io_context &_service, const std::vector< std::string > &_inputNames, const std::string &_outputName, uint64_t _ProtocolHeaderID, EMQOpenType _inputOpenType=EMQOpenType::OpenOrCreate, EMQOpenType _outputOpenType=EMQOpenType::OpenOrCreate)
 

Protected Attributes

std::atomic< bool > m_isShuttingDown
 
std::atomic< bool > m_started
 True if we were able to start the channel, False otherwise. More...
 
uint64_t m_protocolHeaderID
 

Member Typedef Documentation

◆ connectionPtr_t

template<class T>
typedef std::shared_ptr<T> dds::protocol_api::CBaseSMChannelImpl< T >::connectionPtr_t

◆ weakConnectionPtr_t

template<class T>
typedef std::weak_ptr<T> dds::protocol_api::CBaseSMChannelImpl< T >::weakConnectionPtr_t

Constructor & Destructor Documentation

◆ CBaseSMChannelImpl()

template<class T>
dds::protocol_api::CBaseSMChannelImpl< T >::CBaseSMChannelImpl ( boost::asio::io_context &  _service,
const std::vector< std::string > &  _inputNames,
const std::string &  _outputName,
uint64_t  _protocolHeaderID,
EMQOpenType  _inputOpenType,
EMQOpenType  _outputOpenType 
)
inline

◆ ~CBaseSMChannelImpl()

template<class T>
dds::protocol_api::CBaseSMChannelImpl< T >::~CBaseSMChannelImpl ( )
inline

Member Function Documentation

◆ addOutput()

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::addOutput ( uint64_t  _outputID,
const std::string &  _name,
EMQOpenType  _openType = EMQOpenType::OpenOrCreate 
)
inline

◆ DDS_DECLARE_EVENT_HANDLER_CLASS()

template<class T>
dds::protocol_api::CBaseSMChannelImpl< T >::DDS_DECLARE_EVENT_HANDLER_CLASS ( CChannelEventHandlersImpl  )
inline

◆ defaultInit()

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::defaultInit ( const std::vector< std::string >  _inputNames,
const std::string &  _outputName,
EMQOpenType  _inputOpenType,
EMQOpenType  _outputOpenType 
)
inline

◆ drainWriteQueue()

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::drainWriteQueue ( bool  _newVal,
uint64_t  _outputID 
)
inline

◆ getProtocolHeaderID()

template<class T>
uint64_t dds::protocol_api::CBaseSMChannelImpl< T >::getProtocolHeaderID ( ) const
inline

◆ makeNew() [1/2]

template<class T>
static connectionPtr_t dds::protocol_api::CBaseSMChannelImpl< T >::makeNew ( boost::asio::io_context &  _service,
const std::string &  _inputName,
const std::string &  _outputName,
uint64_t  _ProtocolHeaderID,
EMQOpenType  _inputOpenType = EMQOpenType::OpenOrCreate,
EMQOpenType  _outputOpenType = EMQOpenType::OpenOrCreate 
)
inlinestatic

◆ makeNew() [2/2]

template<class T>
static connectionPtr_t dds::protocol_api::CBaseSMChannelImpl< T >::makeNew ( boost::asio::io_context &  _service,
const std::vector< std::string > &  _inputNames,
const std::string &  _outputName,
uint64_t  _ProtocolHeaderID,
EMQOpenType  _inputOpenType = EMQOpenType::OpenOrCreate,
EMQOpenType  _outputOpenType = EMQOpenType::OpenOrCreate 
)
inlinestatic

◆ pushMsg() [1/3]

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::pushMsg ( CProtocolMessage::protocolMessagePtr_t  _msg,
ECmdType  _cmd,
uint64_t  _outputID = 0 
)
inline

◆ pushMsg() [2/3]

template<class T>
template<ECmdType _cmd, class A >
void dds::protocol_api::CBaseSMChannelImpl< T >::pushMsg ( const A &  _attachment,
uint64_t  _protocolHeaderID = 0,
uint64_t  _outputID = 0 
)
inline

◆ pushMsg() [3/3]

template<class T>
template<ECmdType _cmd>
void dds::protocol_api::CBaseSMChannelImpl< T >::pushMsg ( uint64_t  _protocolHeaderID = 0,
uint64_t  _outputID = 0 
)
inline

◆ removeMessageQueue()

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::removeMessageQueue ( )
inline

◆ start()

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::start ( )
inline

◆ started()

template<class T>
bool dds::protocol_api::CBaseSMChannelImpl< T >::started ( ) const
inline

◆ stop()

template<class T>
void dds::protocol_api::CBaseSMChannelImpl< T >::stop ( )
inline

Member Data Documentation

◆ m_isShuttingDown

template<class T>
std::atomic<bool> dds::protocol_api::CBaseSMChannelImpl< T >::m_isShuttingDown
protected

◆ m_protocolHeaderID

template<class T>
uint64_t dds::protocol_api::CBaseSMChannelImpl< T >::m_protocolHeaderID
protected

◆ m_started

template<class T>
std::atomic<bool> dds::protocol_api::CBaseSMChannelImpl< T >::m_started
protected

True if we were able to start the channel, False otherwise.


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