libmoost
moost::transaction::TransactionHandler< queueT, commitFunctorT > Class Template Reference

#include <handler.hpp>

Inheritance diagram for moost::transaction::TransactionHandler< queueT, commitFunctorT >:
Collaboration diagram for moost::transaction::TransactionHandler< queueT, commitFunctorT >:

List of all members.

Public Types

typedef queueT::value_type value_type

Public Member Functions

 TransactionHandler (queueT &queue, commitFunctorT commitFunctor)
 ~TransactionHandler ()
void post (value_type const data)

Private Types

typedef boost::shared_lock
< boost::shared_mutex > 
read_lock_t
typedef boost::upgrade_lock
< boost::shared_mutex > 
upgrade_lock_t
typedef
boost::upgrade_to_unique_lock
< boost::shared_mutex > 
upgrade_to_unique_lock
typedef boost::unique_lock
< boost::shared_mutex > 
unique_lock_t

Private Member Functions

void postJob (size_t postCnt=1)
void CommitHandler ()

Private Attributes

std::sig_atomic_t volatile m_sigRunning
queueT & m_queue
commitFunctorT m_commitFunctor
boost::asio::io_service m_ioService
boost::shared_ptr
< boost::asio::io_service::work > 
m_spWork
boost::shared_ptr< boost::thread > m_spThread
boost::shared_mutex m_mtx

Detailed Description

template<typename queueT, typename commitFunctorT>
class moost::transaction::TransactionHandler< queueT, commitFunctorT >

Definition at line 71 of file handler.hpp.


Member Typedef Documentation

template<typename queueT , typename commitFunctorT >
typedef boost::shared_lock<boost::shared_mutex> moost::transaction::TransactionHandler< queueT, commitFunctorT >::read_lock_t [private]

Definition at line 173 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
typedef boost::unique_lock<boost::shared_mutex> moost::transaction::TransactionHandler< queueT, commitFunctorT >::unique_lock_t [private]

Definition at line 176 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
typedef boost::upgrade_lock<boost::shared_mutex> moost::transaction::TransactionHandler< queueT, commitFunctorT >::upgrade_lock_t [private]

Definition at line 174 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
typedef boost::upgrade_to_unique_lock<boost::shared_mutex> moost::transaction::TransactionHandler< queueT, commitFunctorT >::upgrade_to_unique_lock [private]

Definition at line 175 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
typedef queueT::value_type moost::transaction::TransactionHandler< queueT, commitFunctorT >::value_type

Definition at line 105 of file handler.hpp.


Constructor & Destructor Documentation

template<typename queueT , typename commitFunctorT >
moost::transaction::TransactionHandler< queueT, commitFunctorT >::TransactionHandler ( queueT &  queue,
commitFunctorT  commitFunctor 
) [inline]

Definition at line 74 of file handler.hpp.

Here is the call graph for this function:

template<typename queueT , typename commitFunctorT >
moost::transaction::TransactionHandler< queueT, commitFunctorT >::~TransactionHandler ( ) [inline]

Definition at line 91 of file handler.hpp.


Member Function Documentation

template<typename queueT , typename commitFunctorT >
void moost::transaction::TransactionHandler< queueT, commitFunctorT >::CommitHandler ( ) [inline, private]

Definition at line 130 of file handler.hpp.

Here is the call graph for this function:

template<typename queueT , typename commitFunctorT >
void moost::transaction::TransactionHandler< queueT, commitFunctorT >::post ( value_type const  data) [inline]

Definition at line 107 of file handler.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename queueT , typename commitFunctorT >
void moost::transaction::TransactionHandler< queueT, commitFunctorT >::postJob ( size_t  postCnt = 1) [inline, private]

Definition at line 119 of file handler.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

template<typename queueT , typename commitFunctorT >
commitFunctorT moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_commitFunctor [private]

Definition at line 167 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
boost::asio::io_service moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_ioService [private]

Definition at line 169 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
boost::shared_mutex moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_mtx [private]

Definition at line 177 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
queueT& moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_queue [private]

Definition at line 166 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
std::sig_atomic_t volatile moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_sigRunning [private]

Definition at line 165 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
boost::shared_ptr<boost::thread> moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_spThread [private]

Definition at line 171 of file handler.hpp.

template<typename queueT , typename commitFunctorT >
boost::shared_ptr<boost::asio::io_service::work> moost::transaction::TransactionHandler< queueT, commitFunctorT >::m_spWork [private]

Definition at line 170 of file handler.hpp.


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