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

#include <lb.hpp>

Collaboration diagram for zmq::lb_t:

Public Member Functions

 lb_t ()
 
 ~lb_t ()
 
void activated (pipe_t *pipe_)
 
void attach (pipe_t *pipe_)
 
bool has_out ()
 
void pipe_terminated (pipe_t *pipe_)
 
int send (msg_t *msg_)
 
int sendpipe (msg_t *msg_, pipe_t **pipe_)
 

Private Types

typedef array_t< pipe_t, 2 > pipes_t
 

Private Member Functions

 lb_t (const lb_t &)
 
const lb_toperator= (const lb_t &)
 

Private Attributes

pipes_t::size_type active
 
pipes_t::size_type current
 
bool dropping
 
bool more
 
pipes_t pipes
 

Detailed Description

Definition at line 42 of file lb.hpp.

Member Typedef Documentation

typedef array_t<pipe_t, 2> zmq::lb_t::pipes_t
private

Definition at line 66 of file lb.hpp.

Constructor & Destructor Documentation

zmq::lb_t::lb_t ( )

Definition at line 36 of file lb.cpp.

zmq::lb_t::~lb_t ( )

Definition at line 44 of file lb.cpp.

References zmq::array_t< T, ID >::empty(), pipes, and zmq_assert.

Here is the call graph for this function:

zmq::lb_t::lb_t ( const lb_t )
private

Member Function Documentation

void zmq::lb_t::activated ( pipe_t pipe_)

Definition at line 75 of file lb.cpp.

References active, zmq::array_t< T, ID >::index(), pipes, and zmq::array_t< T, ID >::swap().

Referenced by attach(), zmq::scatter_t::xwrite_activated(), zmq::push_t::xwrite_activated(), zmq::client_t::xwrite_activated(), and zmq::dealer_t::xwrite_activated().

Here is the call graph for this function:

Here is the caller graph for this function:

void zmq::lb_t::attach ( pipe_t pipe_)

Definition at line 49 of file lb.cpp.

References activated(), pipes, and zmq::array_t< T, ID >::push_back().

Referenced by zmq::push_t::xattach_pipe(), zmq::scatter_t::xattach_pipe(), zmq::client_t::xattach_pipe(), and zmq::dealer_t::xattach_pipe().

Here is the call graph for this function:

Here is the caller graph for this function:

bool zmq::lb_t::has_out ( )

Definition at line 150 of file lb.cpp.

References active, current, more, pipes, and zmq::array_t< T, ID >::swap().

Referenced by zmq::push_t::xhas_out(), zmq::scatter_t::xhas_out(), zmq::client_t::xhas_out(), and zmq::dealer_t::xhas_out().

Here is the call graph for this function:

Here is the caller graph for this function:

const lb_t& zmq::lb_t::operator= ( const lb_t )
private
void zmq::lb_t::pipe_terminated ( pipe_t pipe_)

Definition at line 55 of file lb.cpp.

References active, current, dropping, zmq::array_t< T, ID >::erase(), zmq::array_t< T, ID >::index(), more, pipes, and zmq::array_t< T, ID >::swap().

Referenced by zmq::push_t::xpipe_terminated(), zmq::scatter_t::xpipe_terminated(), zmq::client_t::xpipe_terminated(), and zmq::dealer_t::xpipe_terminated().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::lb_t::send ( msg_t msg_)

Definition at line 82 of file lb.cpp.

References sendpipe().

Referenced by zmq::push_t::xsend(), and zmq::scatter_t::xsend().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::lb_t::sendpipe ( msg_t msg_,
pipe_t **  pipe_ 
)

Definition at line 87 of file lb.cpp.

References active, zmq::msg_t::close(), current, dropping, errno_assert, zmq::msg_t::flags, zmq::msg_t::init(), more, zmq::msg_t::more, pipes, and zmq::array_t< T, ID >::swap().

Referenced by send(), zmq::dealer_t::sendpipe(), and zmq::client_t::xsend().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

pipes_t::size_type zmq::lb_t::active
private

Definition at line 71 of file lb.hpp.

Referenced by activated(), has_out(), pipe_terminated(), and sendpipe().

pipes_t::size_type zmq::lb_t::current
private

Definition at line 74 of file lb.hpp.

Referenced by has_out(), pipe_terminated(), and sendpipe().

bool zmq::lb_t::dropping
private

Definition at line 80 of file lb.hpp.

Referenced by pipe_terminated(), and sendpipe().

bool zmq::lb_t::more
private

Definition at line 77 of file lb.hpp.

Referenced by has_out(), pipe_terminated(), and sendpipe().

pipes_t zmq::lb_t::pipes
private

Definition at line 67 of file lb.hpp.

Referenced by activated(), attach(), has_out(), pipe_terminated(), sendpipe(), and ~lb_t().