libzmq master
The Intelligent Transport Layer
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes

zmq::xreq_t Class Reference

#include <xreq.hpp>

Inheritance diagram for zmq::xreq_t:
Collaboration diagram for zmq::xreq_t:

List of all members.

Public Member Functions

 xreq_t (class ctx_t *parent_, uint32_t tid_)
 ~xreq_t ()
int bind (const char *addr_)
bool check_tag ()
int close ()
int connect (const char *addr_)
int get_array_index ()
ctx_tget_ctx ()
mailbox_tget_mailbox ()
uint32_t get_tid ()
int getsockopt (int option_, void *optval_, size_t *optvallen_)
bool has_in ()
bool has_out ()
void hiccuped (pipe_t *pipe_)
void in_event ()
void inc_seqnum ()
void out_event ()
void process_command (struct command_t &cmd_)
void read_activated (pipe_t *pipe_)
int recv (class msg_t *msg_, int flags_)
void register_term_acks (int count_)
int send (class msg_t *msg_, int flags_)
void set_array_index (int index_)
int setsockopt (int option_, const void *optval_, size_t optvallen_)
void start_reaping (poller_t *poller_)
void stop ()
void terminated (pipe_t *pipe_)
void timer_event (int id_)
void unregister_term_ack ()
void write_activated (pipe_t *pipe_)

Static Public Member Functions

static socket_base_tcreate (int type_, class ctx_t *parent_, uint32_t tid_)

Protected Member Functions

class io_thread_tchoose_io_thread (uint64_t affinity_)
void destroy_socket (class socket_base_t *socket_)
struct endpoint_t find_endpoint (const char *addr_)
bool is_terminating ()
void launch_child (own_t *object_)
void launch_sibling (own_t *object_)
void log (const char *format_,...)
virtual void process_activate_read ()
virtual void process_activate_write (uint64_t msgs_read_)
virtual void process_attach (struct i_engine *engine_)
void process_destroy ()
virtual void process_hiccup (void *pipe_)
virtual void process_pipe_term ()
virtual void process_pipe_term_ack ()
virtual void process_plug ()
virtual void process_reap (class socket_base_t *socket_)
virtual void process_reaped ()
int register_endpoint (const char *addr_, struct endpoint_t &endpoint_)
void send_activate_read (class pipe_t *destination_)
void send_activate_write (class pipe_t *destination_, uint64_t msgs_read_)
void send_attach (class session_base_t *destination_, struct i_engine *engine_, bool inc_seqnum_=true)
void send_bind (class own_t *destination_, class pipe_t *pipe_, bool inc_seqnum_=true)
void send_done ()
void send_hiccup (class pipe_t *destination_, void *pipe_)
void send_own (class own_t *destination_, class own_t *object_)
void send_pipe_term (class pipe_t *destination_)
void send_pipe_term_ack (class pipe_t *destination_)
void send_plug (class own_t *destination_, bool inc_seqnum_=true)
void send_reap (class socket_base_t *socket_)
void send_reaped ()
void send_stop ()
void send_term (class own_t *destination_, int linger_)
void send_term_ack (class own_t *destination_)
void send_term_req (class own_t *destination_, class own_t *object_)
void terminate ()
void unregister_endpoints (class socket_base_t *socket_)
void xattach_pipe (class pipe_t *pipe_)
bool xhas_in ()
bool xhas_out ()
virtual void xhiccuped (pipe_t *pipe_)
void xread_activated (class pipe_t *pipe_)
int xrecv (class msg_t *msg_, int flags_)
int xsend (class msg_t *msg_, int flags_)
virtual int xsetsockopt (int option_, const void *optval_, size_t optvallen_)
void xterminated (class pipe_t *pipe_)
void xwrite_activated (class pipe_t *pipe_)

Protected Attributes

options_t options

Private Member Functions

 xreq_t (const xreq_t &)
const xreq_toperator= (const xreq_t &)

Private Attributes

fq_t fq
lb_t lb

Detailed Description

Definition at line 32 of file xreq.hpp.


Constructor & Destructor Documentation

zmq::xreq_t::xreq_t ( class ctx_t parent_,
uint32_t  tid_ 
)
zmq::xreq_t::~xreq_t ( )

Definition at line 41 of file xreq.cpp.

zmq::xreq_t::xreq_t ( const xreq_t ) [private]

Member Function Documentation

int zmq::socket_base_t::bind ( const char *  addr_) [inherited]

Definition at line 295 of file socket_base.cpp.

References alloc_assert, EMTHREAD, ETERM, zmq::ipc_listener_t::set_address(), zmq::tcp_listener_t::set_address(), unlikely, and zmq_assert.

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

Here is the call graph for this function:

Here is the caller graph for this function:

bool zmq::socket_base_t::check_tag ( ) [inherited]

Definition at line 65 of file socket_base.cpp.

References zmq::socket_base_t::tag.

zmq::io_thread_t * zmq::object_t::choose_io_thread ( uint64_t  affinity_) [protected, inherited]

Definition at line 160 of file object.cpp.

References zmq::object_t::choose_io_thread().

Referenced by zmq::object_t::choose_io_thread().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::socket_base_t::close ( ) [inherited]

Definition at line 623 of file socket_base.cpp.

int zmq::socket_base_t::connect ( const char *  addr_) [inherited]
zmq::socket_base_t * zmq::socket_base_t::create ( int  type_,
class ctx_t parent_,
uint32_t  tid_ 
) [static, inherited]

Definition at line 70 of file socket_base.cpp.

References alloc_assert, ZMQ_PAIR, ZMQ_PUB, ZMQ_PULL, ZMQ_PUSH, ZMQ_REP, ZMQ_REQ, ZMQ_SUB, ZMQ_XPUB, ZMQ_XREP, ZMQ_XREQ, and ZMQ_XSUB.

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

Here is the caller graph for this function:

void zmq::object_t::destroy_socket ( class socket_base_t socket_) [protected, inherited]

Definition at line 147 of file object.cpp.

zmq::endpoint_t zmq::object_t::find_endpoint ( const char *  addr_) [read, protected, inherited]

Definition at line 142 of file object.cpp.

int zmq::array_item_t< 0 >::get_array_index ( ) [inline, inherited]

Definition at line 56 of file array.hpp.

zmq::ctx_t * zmq::object_t::get_ctx ( ) [inherited]

Definition at line 54 of file object.cpp.

zmq::mailbox_t * zmq::socket_base_t::get_mailbox ( ) [inherited]

Definition at line 136 of file socket_base.cpp.

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

Here is the caller graph for this function:

uint32_t zmq::object_t::get_tid ( ) [inherited]

Definition at line 49 of file object.cpp.

Referenced by zmq::ctx_t::destroy_socket(), and zmq::object_t::send_command().

Here is the caller graph for this function:

int zmq::socket_base_t::getsockopt ( int  option_,
void *  optval_,
size_t *  optvallen_ 
) [inherited]

Definition at line 246 of file socket_base.cpp.

References errno_assert, ETERM, unlikely, ZMQ_EVENTS, ZMQ_FD, ZMQ_POLLIN, ZMQ_POLLOUT, and ZMQ_RCVMORE.

bool zmq::socket_base_t::has_in ( ) [inherited]

Definition at line 633 of file socket_base.cpp.

bool zmq::socket_base_t::has_out ( ) [inherited]

Definition at line 638 of file socket_base.cpp.

void zmq::socket_base_t::hiccuped ( pipe_t pipe_) [virtual, inherited]

Implements zmq::i_pipe_events.

Definition at line 843 of file socket_base.cpp.

void zmq::socket_base_t::in_event ( ) [virtual, inherited]

Implements zmq::i_poll_events.

Definition at line 794 of file socket_base.cpp.

void zmq::own_t::inc_seqnum ( ) [inherited]
bool zmq::own_t::is_terminating ( ) [protected, inherited]

Definition at line 156 of file own.cpp.

void zmq::own_t::launch_child ( own_t object_) [protected, inherited]

Definition at line 71 of file own.cpp.

References zmq::own_t::set_owner().

Here is the call graph for this function:

void zmq::own_t::launch_sibling ( own_t object_) [protected, inherited]

Definition at line 83 of file own.cpp.

References zmq::own_t::set_owner().

Here is the call graph for this function:

void zmq::object_t::log ( const char *  format_,
  ... 
) [protected, inherited]

Definition at line 152 of file object.cpp.

const xreq_t& zmq::xreq_t::operator= ( const xreq_t ) [private]
void zmq::socket_base_t::out_event ( ) [virtual, inherited]

Implements zmq::i_poll_events.

Definition at line 804 of file socket_base.cpp.

References zmq_assert.

void zmq::object_t::process_activate_read ( ) [protected, virtual, inherited]

Reimplemented in zmq::pipe_t.

Definition at line 390 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_activate_write ( uint64_t  msgs_read_) [protected, virtual, inherited]

Reimplemented in zmq::pipe_t.

Definition at line 395 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_attach ( struct i_engine engine_) [protected, virtual, inherited]

Reimplemented in zmq::session_base_t.

Definition at line 380 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_command ( struct command_t cmd_) [inherited]
void zmq::socket_base_t::process_destroy ( ) [protected, virtual, inherited]

Reimplemented from zmq::own_t.

Definition at line 746 of file socket_base.cpp.

void zmq::object_t::process_hiccup ( void *  pipe_) [protected, virtual, inherited]

Reimplemented in zmq::pipe_t.

Definition at line 400 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_pipe_term ( ) [protected, virtual, inherited]

Reimplemented in zmq::pipe_t.

Definition at line 405 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_pipe_term_ack ( ) [protected, virtual, inherited]

Reimplemented in zmq::pipe_t.

Definition at line 410 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_plug ( ) [protected, virtual, inherited]
void zmq::object_t::process_reap ( class socket_base_t socket_) [protected, virtual, inherited]

Reimplemented in zmq::reaper_t.

Definition at line 430 of file object.cpp.

References zmq_assert.

void zmq::object_t::process_reaped ( ) [protected, virtual, inherited]

Reimplemented in zmq::reaper_t.

Definition at line 435 of file object.cpp.

References zmq_assert.

void zmq::socket_base_t::read_activated ( pipe_t pipe_) [virtual, inherited]

Implements zmq::i_pipe_events.

Definition at line 833 of file socket_base.cpp.

int zmq::socket_base_t::recv ( class msg_t msg_,
int  flags_ 
) [inherited]

Definition at line 535 of file socket_base.cpp.

References zmq::msg_t::check(), ETERM, zmq::clock_t::now_ms(), unlikely, and ZMQ_DONTWAIT.

Here is the call graph for this function:

int zmq::object_t::register_endpoint ( const char *  addr_,
struct endpoint_t endpoint_ 
) [protected, inherited]

Definition at line 132 of file object.cpp.

void zmq::own_t::register_term_acks ( int  count_) [inherited]

Definition at line 178 of file own.cpp.

int zmq::socket_base_t::send ( class msg_t msg_,
int  flags_ 
) [inherited]

Definition at line 469 of file socket_base.cpp.

References zmq::msg_t::check(), ETERM, zmq::msg_t::more, zmq::clock_t::now_ms(), zmq::msg_t::reset_flags(), zmq::msg_t::set_flags(), unlikely, ZMQ_DONTWAIT, and ZMQ_SNDMORE.

Here is the call graph for this function:

void zmq::object_t::send_activate_read ( class pipe_t destination_) [protected, inherited]
void zmq::object_t::send_activate_write ( class pipe_t destination_,
uint64_t  msgs_read_ 
) [protected, inherited]
void zmq::object_t::send_attach ( class session_base_t destination_,
struct i_engine engine_,
bool  inc_seqnum_ = true 
) [protected, inherited]

Definition at line 205 of file object.cpp.

References zmq::command_t::args, zmq::command_t::attach, zmq::command_t::destination, zmq::own_t::inc_seqnum(), and zmq::command_t::type.

Here is the call graph for this function:

void zmq::object_t::send_bind ( class own_t destination_,
class pipe_t pipe_,
bool  inc_seqnum_ = true 
) [protected, inherited]

Definition at line 221 of file object.cpp.

References zmq::command_t::args, zmq::command_t::bind, zmq::command_t::destination, zmq::own_t::inc_seqnum(), and zmq::command_t::type.

Here is the call graph for this function:

void zmq::object_t::send_done ( ) [protected, inherited]
void zmq::object_t::send_hiccup ( class pipe_t destination_,
void *  pipe_ 
) [protected, inherited]
void zmq::object_t::send_own ( class own_t destination_,
class own_t object_ 
) [protected, inherited]

Definition at line 192 of file object.cpp.

References zmq::command_t::args, zmq::command_t::destination, zmq::own_t::inc_seqnum(), zmq::command_t::own, and zmq::command_t::type.

Here is the call graph for this function:

void zmq::object_t::send_pipe_term ( class pipe_t destination_) [protected, inherited]
void zmq::object_t::send_pipe_term_ack ( class pipe_t destination_) [protected, inherited]
void zmq::object_t::send_plug ( class own_t destination_,
bool  inc_seqnum_ = true 
) [protected, inherited]

Definition at line 178 of file object.cpp.

References zmq::command_t::destination, zmq::own_t::inc_seqnum(), zmq::command_t::plug, and zmq::command_t::type.

Here is the call graph for this function:

void zmq::object_t::send_reap ( class socket_base_t socket_) [protected, inherited]
void zmq::object_t::send_reaped ( ) [protected, inherited]
void zmq::object_t::send_stop ( ) [protected, inherited]
void zmq::object_t::send_term ( class own_t destination_,
int  linger_ 
) [protected, inherited]
void zmq::object_t::send_term_ack ( class own_t destination_) [protected, inherited]
void zmq::object_t::send_term_req ( class own_t destination_,
class own_t object_ 
) [protected, inherited]
void zmq::array_item_t< 0 >::set_array_index ( int  index_) [inline, inherited]

Definition at line 51 of file array.hpp.

int zmq::socket_base_t::setsockopt ( int  option_,
const void *  optval_,
size_t  optvallen_ 
) [inherited]

Definition at line 228 of file socket_base.cpp.

References ETERM, and unlikely.

void zmq::socket_base_t::start_reaping ( poller_t *  poller_) [inherited]

Definition at line 643 of file socket_base.cpp.

Referenced by zmq::reaper_t::process_reap().

Here is the caller graph for this function:

void zmq::socket_base_t::stop ( ) [inherited]

Definition at line 141 of file socket_base.cpp.

void zmq::own_t::terminate ( ) [protected, inherited]

Definition at line 138 of file own.cpp.

void zmq::socket_base_t::terminated ( pipe_t pipe_) [virtual, inherited]

Implements zmq::i_pipe_events.

Definition at line 848 of file socket_base.cpp.

void zmq::socket_base_t::timer_event ( int  id_) [virtual, inherited]

Implements zmq::i_poll_events.

Definition at line 809 of file socket_base.cpp.

References zmq_assert.

void zmq::object_t::unregister_endpoints ( class socket_base_t socket_) [protected, inherited]

Definition at line 137 of file object.cpp.

void zmq::own_t::unregister_term_ack ( ) [inherited]

Definition at line 183 of file own.cpp.

References zmq_assert.

void zmq::socket_base_t::write_activated ( pipe_t pipe_) [virtual, inherited]

Implements zmq::i_pipe_events.

Definition at line 838 of file socket_base.cpp.

void zmq::xreq_t::xattach_pipe ( class pipe_t pipe_) [protected, virtual]

Implements zmq::socket_base_t.

Definition at line 45 of file xreq.cpp.

References zmq_assert.

bool zmq::xreq_t::xhas_in ( ) [protected, virtual]

Reimplemented from zmq::socket_base_t.

Reimplemented in zmq::req_t.

Definition at line 70 of file xreq.cpp.

Referenced by zmq::req_t::xhas_in().

Here is the caller graph for this function:

bool zmq::xreq_t::xhas_out ( ) [protected, virtual]

Reimplemented from zmq::socket_base_t.

Reimplemented in zmq::req_t.

Definition at line 75 of file xreq.cpp.

Referenced by zmq::req_t::xhas_out().

Here is the caller graph for this function:

void zmq::socket_base_t::xhiccuped ( pipe_t pipe_) [protected, virtual, inherited]

Reimplemented in zmq::xsub_t.

Definition at line 789 of file socket_base.cpp.

References zmq_assert.

void zmq::xreq_t::xread_activated ( class pipe_t pipe_) [protected, virtual]

Reimplemented from zmq::socket_base_t.

Definition at line 80 of file xreq.cpp.

int zmq::xreq_t::xrecv ( class msg_t msg_,
int  flags_ 
) [protected, virtual]

Reimplemented from zmq::socket_base_t.

Reimplemented in zmq::req_t.

Definition at line 57 of file xreq.cpp.

References zmq::msg_t::flags, zmq::msg_t::identity, and likely.

Referenced by zmq::req_t::xrecv().

Here is the caller graph for this function:

int zmq::xreq_t::xsend ( class msg_t msg_,
int  flags_ 
) [protected, virtual]

Reimplemented from zmq::socket_base_t.

Reimplemented in zmq::req_t.

Definition at line 52 of file xreq.cpp.

Referenced by zmq::req_t::xsend().

Here is the caller graph for this function:

int zmq::socket_base_t::xsetsockopt ( int  option_,
const void *  optval_,
size_t  optvallen_ 
) [protected, virtual, inherited]

Reimplemented in zmq::sub_t.

Definition at line 751 of file socket_base.cpp.

void zmq::xreq_t::xterminated ( class pipe_t pipe_) [protected, virtual]

Implements zmq::socket_base_t.

Definition at line 90 of file xreq.cpp.

void zmq::xreq_t::xwrite_activated ( class pipe_t pipe_) [protected, virtual]

Reimplemented from zmq::socket_base_t.

Definition at line 85 of file xreq.cpp.


Member Data Documentation

fq_t zmq::xreq_t::fq [private]

Definition at line 56 of file xreq.hpp.

lb_t zmq::xreq_t::lb [private]

Definition at line 57 of file xreq.hpp.

options_t zmq::own_t::options [protected, inherited]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines