RSB  0.19.0
rsb::transport::AsioServiceContext Class Reference

A class that keeps a boost asio service alive as long as this class lives. More...

#include <AsioServiceContext.h>

Collaboration diagram for rsb::transport::AsioServiceContext:
Collaboration graph

Public Types

typedef boost::shared_ptr< boost::asio::io_service > ServicePtr
 

Public Member Functions

 AsioServiceContext ()
 
virtual ~AsioServiceContext ()
 
ServicePtr getService ()
 

Private Types

typedef boost::shared_ptr< boost::asio::io_service::work > WorkPtr
 

Private Attributes

rsc::logging::LoggerPtr logger
 
ServicePtr service
 
WorkPtr keepAlive
 
boost::thread thread
 

Detailed Description

A class that keeps a boost asio service alive as long as this class lives.

So it is best maintained in shared_ptr instances (AsioServiceContextPtr).

Author
jwienke

Definition at line 47 of file AsioServiceContext.h.

Member Typedef Documentation

typedef boost::shared_ptr<boost::asio::io_service> rsb::transport::AsioServiceContext::ServicePtr

Definition at line 52 of file AsioServiceContext.h.

typedef boost::shared_ptr<boost::asio::io_service::work> rsb::transport::AsioServiceContext::WorkPtr
private

Definition at line 57 of file AsioServiceContext.h.

Constructor & Destructor Documentation

rsb::transport::AsioServiceContext::AsioServiceContext ( )

Definition at line 36 of file AsioServiceContext.cpp.

References logger.

rsb::transport::AsioServiceContext::~AsioServiceContext ( )
virtual

Definition at line 43 of file AsioServiceContext.cpp.

References keepAlive, logger, and thread.

Member Function Documentation

AsioServiceContext::ServicePtr rsb::transport::AsioServiceContext::getService ( )

Definition at line 52 of file AsioServiceContext.cpp.

References service.

Member Data Documentation

WorkPtr rsb::transport::AsioServiceContext::keepAlive
private

Definition at line 61 of file AsioServiceContext.h.

Referenced by ~AsioServiceContext().

rsc::logging::LoggerPtr rsb::transport::AsioServiceContext::logger
private

Definition at line 59 of file AsioServiceContext.h.

Referenced by AsioServiceContext(), and ~AsioServiceContext().

ServicePtr rsb::transport::AsioServiceContext::service
private

Definition at line 60 of file AsioServiceContext.h.

Referenced by getService().

boost::thread rsb::transport::AsioServiceContext::thread
private

Definition at line 62 of file AsioServiceContext.h.

Referenced by ~AsioServiceContext().


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