|
sigx++
2.0.1
|
base class denoting the ability to dispatch messages between threads. More...
#include <dispatcher.h>
Public Member Functions | |
| dispatcher () | |
| constructs the dispatcher More... | |
| virtual | ~dispatcher ()=0 |
| virtual void | send (tunnel_context_base *context) |
| puts the tunnel context into the list of messages to dispatch More... | |
| gint | queued_contexts () const |
| threadhandle_type | creator_thread () const |
Public Member Functions inherited from sigx::operator_new | |
| void * | operator new (std::size_t size) |
| void | operator delete (void *p) |
| void * | operator new[] (std::size_t size) |
| void | operator delete[] (void *p) |
Static Public Attributes | |
| static bool | deadlock_detection = false |
| Whether deadlock detection is turned on. More... | |
Protected Member Functions | |
| bool | process_next () |
| processes the next message in the queue. More... | |
| void | test_calling_thread () |
Protected Member Functions inherited from sigx::operator_new | |
| operator_new () | |
| ~operator_new () | |
base class denoting the ability to dispatch messages between threads.
A dispatcher holds a list of pointers to sigx::tunnel_context objects.
| sigx::dispatcher::dispatcher | ( | ) |
constructs the dispatcher
|
pure virtual |
| bad_caller |
References test_calling_thread().
|
inline |
|
protected |
processes the next message in the queue.
References sigx::tunnel_context_base::creator_thread(), deadlock_detection, sigx::tunnel_context_base::invoke(), sigx::tunnel_context_base::is_sync(), sigx::tunnel_context_base::is_valid(), and sigx::dld::make_thread_pair().
Referenced by sigx::glib_dispatcher::~glib_dispatcher().
| gint sigx::dispatcher::queued_contexts | ( | ) | const |
|
virtual |
puts the tunnel context into the list of messages to dispatch
Reimplemented in sigx::glib_dispatcher.
References deadlock_detection, sigx::tunnel_context_base::is_sync(), and sigx::dld::make_thread_pair().
Referenced by sigx::tunnel_context_base::dispatch_me(), and sigx::glib_dispatcher::send().
|
protected |
| bad_caller |
Referenced by ~dispatcher(), and sigx::glib_dispatcher::~glib_dispatcher().
|
static |
Whether deadlock detection is turned on.
Set to `true" from the main thread (e.g. after Glib::thread_init()) to turn on the deadlock detection feature at runtime for synchronous messages. Defaults to false.
Referenced by process_next(), and send().
1.8.6