sigx++ 2.0.1
|
the base class for all tunnel_context classes. More...
#include <tunnel_context_base.h>
Public Member Functions | |
tunnel_context_base (const shared_dispatchable &_A_disp, const tunnel_validity_tracker &_A_validity_tracker, bool sync=false) | |
virtual | ~tunnel_context_base () |
virtual void | invoke ()=0 |
invokes the intended functor at the other end of the tunnel | |
bool | is_sync () const |
bool | is_valid () const |
const void * | creator_thread () const |
Protected Member Functions | |
void | dispatch_me () |
sends the tunnel context over the dispatcher. | |
Protected Attributes | |
tunnel_validity_tracker | m_validity_tracker |
shared_dispatchable | m_disp |
bool | m_sync |
const void *const | m_creator_thread |
the base class for all tunnel_context classes.
A tunnel context represents the tunnel and all facilities involved: the dispatcher, the message, the functor to invoke, whether the message is dispatched asynchronously or synchronously.
sigx::tunnel_context_base::tunnel_context_base | ( | const shared_dispatchable & | _A_disp, |
const tunnel_validity_tracker & | _A_validity_tracker, | ||
bool | sync = false |
||
) |
sigx::tunnel_context_base::~tunnel_context_base | ( | ) | [virtual] |
const void* sigx::tunnel_context_base::creator_thread | ( | ) | const [inline] |
Referenced by sigx::dispatcher::process_next().
void sigx::tunnel_context_base::dispatch_me | ( | ) | [protected] |
sends the tunnel context over the dispatcher.
bad_dispatcher | If dispatcher is invalid. |
Reimplemented in sigx::sync_tunnel_context_base.
References m_disp.
Referenced by sigx::tunnel_context< SYNC, T_return, T_unary_functor >::tunnel(), and sigx::tunnel_context< ASYNC, T_return, T_unary_functor >::tunnel().
virtual void sigx::tunnel_context_base::invoke | ( | ) | [pure virtual] |
invokes the intended functor at the other end of the tunnel
Implemented in sigx::tunnel_context< ASYNC, T_return, T_unary_functor >, sigx::tunnel_context< SYNC, T_return, T_unary_functor >, and sigx::tunnel_context< SYNC, void, T_unary_functor >.
Referenced by sigx::dispatcher::process_next().
bool sigx::tunnel_context_base::is_sync | ( | ) | const [inline] |
Referenced by sigx::dispatcher::process_next(), and sigx::dispatcher::send().
bool sigx::tunnel_context_base::is_valid | ( | ) | const [inline] |
Referenced by sigx::dispatcher::process_next().
const void* const sigx::tunnel_context_base::m_creator_thread [protected] |
shared_dispatchable sigx::tunnel_context_base::m_disp [protected] |
Referenced by dispatch_me().
bool sigx::tunnel_context_base::m_sync [protected] |