![]() |
libzmq
master
ZeroMQ C++ Core Engine (LIBZMQ)
|
#include <mailbox_safe.hpp>


Public Member Functions | |
| mailbox_safe_t (mutex_t *sync_) | |
| ~mailbox_safe_t () | |
| void | add_signaler (signaler_t *signaler) |
| void | clear_signalers () |
| int | recv (command_t *cmd_, int timeout_) |
| void | remove_signaler (signaler_t *signaler) |
| void | send (const command_t &cmd_) |
Public Member Functions inherited from zmq::i_mailbox | |
| virtual | ~i_mailbox () |
Private Types | |
| typedef ypipe_t< command_t, command_pipe_granularity > | cpipe_t |
Private Member Functions | |
| mailbox_safe_t (const mailbox_safe_t &) | |
| const mailbox_safe_t & | operator= (const mailbox_safe_t &) |
Private Attributes | |
| condition_variable_t | cond_var |
| cpipe_t | cpipe |
| std::vector< zmq::signaler_t * > | signalers |
| mutex_t * | sync |
Definition at line 49 of file mailbox_safe.hpp.
|
private |
Definition at line 77 of file mailbox_safe.hpp.
| zmq::mailbox_safe_t::mailbox_safe_t | ( | mutex_t * | sync_ | ) |
Definition at line 35 of file mailbox_safe.cpp.
References cpipe, zmq::ypipe_t< T, N >::read(), and zmq_assert.

| zmq::mailbox_safe_t::~mailbox_safe_t | ( | ) |
Definition at line 45 of file mailbox_safe.cpp.
References zmq::mutex_t::lock(), sync, and zmq::mutex_t::unlock().

|
private |
| void zmq::mailbox_safe_t::add_signaler | ( | signaler_t * | signaler | ) |
Definition at line 55 of file mailbox_safe.cpp.
References signalers.
| void zmq::mailbox_safe_t::clear_signalers | ( | ) |
Definition at line 74 of file mailbox_safe.cpp.
References signalers.
|
private |
Implements zmq::i_mailbox.
Definition at line 95 of file mailbox_safe.cpp.
References cond_var, cpipe, errno_assert, zmq::ypipe_t< T, N >::read(), sync, and zmq::condition_variable_t::wait().

| void zmq::mailbox_safe_t::remove_signaler | ( | signaler_t * | signaler | ) |
Definition at line 60 of file mailbox_safe.cpp.
References signalers.
|
virtual |
Implements zmq::i_mailbox.
Definition at line 79 of file mailbox_safe.cpp.
References zmq::condition_variable_t::broadcast(), cond_var, cpipe, zmq::ypipe_t< T, N >::flush(), zmq::mutex_t::lock(), signalers, sync, zmq::mutex_t::unlock(), and zmq::ypipe_t< T, N >::write().

|
private |
Definition at line 81 of file mailbox_safe.hpp.
|
private |
Definition at line 78 of file mailbox_safe.hpp.
Referenced by mailbox_safe_t(), recv(), and send().
|
private |
Definition at line 86 of file mailbox_safe.hpp.
Referenced by add_signaler(), clear_signalers(), remove_signaler(), and send().
|
private |
Definition at line 84 of file mailbox_safe.hpp.
Referenced by recv(), send(), and ~mailbox_safe_t().