![]() |
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_) |
![]() | |
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().