libzmq  master
ZeroMQ C++ Core Engine (LIBZMQ)
zmq::reaper_t Class Reference

#include <reaper.hpp>

Inheritance diagram for zmq::reaper_t:
Collaboration diagram for zmq::reaper_t:

Public Member Functions

 reaper_t (zmq::ctx_t *ctx_, uint32_t tid_)
 
 ~reaper_t ()
 
mailbox_tget_mailbox ()
 
void in_event ()
 
void out_event ()
 
void start ()
 
void stop ()
 
void timer_event (int id_)
 
- Public Member Functions inherited from zmq::object_t
 object_t (zmq::ctx_t *ctx_, uint32_t tid_)
 
 object_t (object_t *parent_)
 
virtual ~object_t ()
 
ctx_tget_ctx ()
 
uint32_t get_tid ()
 
void process_command (zmq::command_t &cmd_)
 
void send_bind (zmq::own_t *destination_, zmq::pipe_t *pipe_, bool inc_seqnum_=true)
 
void send_inproc_connected (zmq::socket_base_t *socket_)
 
void set_tid (uint32_t id)
 
- Public Member Functions inherited from zmq::i_poll_events
virtual ~i_poll_events ()
 

Private Member Functions

 reaper_t (const reaper_t &)
 
const reaper_toperator= (const reaper_t &)
 
void process_reap (zmq::socket_base_t *socket_)
 
void process_reaped ()
 
void process_stop ()
 

Private Attributes

mailbox_t mailbox
 
poller_t::handle_t mailbox_handle
 
poller_t * poller
 
int sockets
 
bool terminating
 

Additional Inherited Members

- Protected Member Functions inherited from zmq::object_t
zmq::io_thread_tchoose_io_thread (uint64_t affinity_)
 
void connect_pending (const char *addr_, zmq::socket_base_t *bind_socket_)
 
void destroy_socket (zmq::socket_base_t *socket_)
 
zmq::endpoint_t find_endpoint (const char *addr_)
 
void log (const char *format_,...)
 
void pend_connection (const std::string &addr_, const endpoint_t &endpoint, pipe_t **pipes_)
 
virtual void process_activate_read ()
 
virtual void process_activate_write (uint64_t msgs_read_)
 
virtual void process_attach (zmq::i_engine *engine_)
 
virtual void process_bind (zmq::pipe_t *pipe_)
 
virtual void process_hiccup (void *pipe_)
 
virtual void process_own (zmq::own_t *object_)
 
virtual void process_pipe_term ()
 
virtual void process_pipe_term_ack ()
 
virtual void process_plug ()
 
virtual void process_seqnum ()
 
virtual void process_term (int linger_)
 
virtual void process_term_ack ()
 
virtual void process_term_req (zmq::own_t *object_)
 
int register_endpoint (const char *addr_, const zmq::endpoint_t &endpoint_)
 
void send_activate_read (zmq::pipe_t *destination_)
 
void send_activate_write (zmq::pipe_t *destination_, uint64_t msgs_read_)
 
void send_attach (zmq::session_base_t *destination_, zmq::i_engine *engine_, bool inc_seqnum_=true)
 
void send_done ()
 
void send_hiccup (zmq::pipe_t *destination_, void *pipe_)
 
void send_own (zmq::own_t *destination_, zmq::own_t *object_)
 
void send_pipe_term (zmq::pipe_t *destination_)
 
void send_pipe_term_ack (zmq::pipe_t *destination_)
 
void send_plug (zmq::own_t *destination_, bool inc_seqnum_=true)
 
void send_reap (zmq::socket_base_t *socket_)
 
void send_reaped ()
 
void send_stop ()
 
void send_term (zmq::own_t *destination_, int linger_)
 
void send_term_ack (zmq::own_t *destination_)
 
void send_term_req (zmq::own_t *destination_, zmq::own_t *object_)
 
int unregister_endpoint (const std::string &addr_, socket_base_t *socket_)
 
void unregister_endpoints (zmq::socket_base_t *socket_)
 

Detailed Description

Definition at line 44 of file reaper.hpp.

Constructor & Destructor Documentation

zmq::reaper_t::reaper_t ( zmq::ctx_t ctx_,
uint32_t  tid_ 
)

Definition at line 36 of file reaper.cpp.

References alloc_assert, zmq::mailbox_t::get_fd(), mailbox, mailbox_handle, poller, and zmq::retired_fd.

Here is the call graph for this function:

zmq::reaper_t::~reaper_t ( )

Definition at line 55 of file reaper.cpp.

References LIBZMQ_DELETE, and poller.

zmq::reaper_t::reaper_t ( const reaper_t )
private

Member Function Documentation

zmq::mailbox_t * zmq::reaper_t::get_mailbox ( )

Definition at line 60 of file reaper.cpp.

References mailbox.

Referenced by zmq::ctx_t::create_socket().

Here is the caller graph for this function:

void zmq::reaper_t::in_event ( )
virtual

Implements zmq::i_poll_events.

Definition at line 76 of file reaper.cpp.

References zmq::command_t::destination, errno_assert, mailbox, zmq::object_t::process_command(), zmq::mailbox_t::recv(), and unlikely.

Here is the call graph for this function:

const reaper_t& zmq::reaper_t::operator= ( const reaper_t )
private
void zmq::reaper_t::out_event ( )
virtual

Implements zmq::i_poll_events.

Definition at line 101 of file reaper.cpp.

References zmq_assert.

void zmq::reaper_t::process_reap ( zmq::socket_base_t socket_)
privatevirtual

Reimplemented from zmq::object_t.

Definition at line 123 of file reaper.cpp.

References poller, sockets, and zmq::socket_base_t::start_reaping().

Here is the call graph for this function:

void zmq::reaper_t::process_reaped ( )
privatevirtual

Reimplemented from zmq::object_t.

Definition at line 131 of file reaper.cpp.

References mailbox_handle, poller, zmq::object_t::send_done(), sockets, and terminating.

Here is the call graph for this function:

void zmq::reaper_t::process_stop ( )
privatevirtual

Reimplemented from zmq::object_t.

Definition at line 111 of file reaper.cpp.

References mailbox_handle, poller, zmq::object_t::send_done(), sockets, and terminating.

Here is the call graph for this function:

void zmq::reaper_t::start ( )

Definition at line 65 of file reaper.cpp.

References poller.

Referenced by zmq::ctx_t::create_socket().

Here is the caller graph for this function:

void zmq::reaper_t::stop ( )

Definition at line 71 of file reaper.cpp.

References zmq::object_t::send_stop().

Referenced by zmq::ctx_t::destroy_socket(), zmq::ctx_t::shutdown(), and zmq::ctx_t::terminate().

Here is the call graph for this function:

Here is the caller graph for this function:

void zmq::reaper_t::timer_event ( int  id_)
virtual

Implements zmq::i_poll_events.

Definition at line 106 of file reaper.cpp.

References zmq_assert.

Member Data Documentation

mailbox_t zmq::reaper_t::mailbox
private

Definition at line 69 of file reaper.hpp.

Referenced by get_mailbox(), in_event(), and reaper_t().

poller_t::handle_t zmq::reaper_t::mailbox_handle
private

Definition at line 72 of file reaper.hpp.

Referenced by process_reaped(), process_stop(), and reaper_t().

poller_t* zmq::reaper_t::poller
private

Definition at line 75 of file reaper.hpp.

Referenced by process_reap(), process_reaped(), process_stop(), reaper_t(), start(), and ~reaper_t().

int zmq::reaper_t::sockets
private

Definition at line 78 of file reaper.hpp.

Referenced by process_reap(), process_reaped(), and process_stop().

bool zmq::reaper_t::terminating
private

Definition at line 81 of file reaper.hpp.

Referenced by process_reaped(), and process_stop().