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

#include <socket_poller.hpp>

Collaboration diagram for zmq::socket_poller_t:

Classes

struct  event_t
 
struct  item_t
 

Public Types

typedef struct zmq::socket_poller_t::event_t event_t
 

Public Member Functions

 socket_poller_t ()
 
 ~socket_poller_t ()
 
int add (socket_base_t *socket, void *user_data, short events)
 
int add_fd (fd_t fd, void *user_data, short events)
 
bool check_tag ()
 
int modify (socket_base_t *socket, short events)
 
int modify_fd (fd_t fd, short events)
 
int remove (socket_base_t *socket)
 
int remove_fd (fd_t fd)
 
int wait (event_t *event, long timeout)
 

Private Types

typedef struct zmq::socket_poller_t::item_t item_t
 
typedef std::vector< item_titems_t
 

Private Member Functions

 socket_poller_t (const socket_poller_t &)
 
const socket_poller_toperator= (const socket_poller_t &)
 
int rebuild ()
 

Private Attributes

items_t items
 
bool need_rebuild
 
int poll_size
 
pollfd * pollfds
 
signaler_t signaler
 
uint32_t tag
 
bool use_signaler
 

Detailed Description

Definition at line 54 of file socket_poller.hpp.

Member Typedef Documentation

typedef std::vector<item_t> zmq::socket_poller_t::items_t
private

Definition at line 101 of file socket_poller.hpp.

Constructor & Destructor Documentation

zmq::socket_poller_t::socket_poller_t ( )

Definition at line 34 of file socket_poller.cpp.

zmq::socket_poller_t::~socket_poller_t ( )

Definition at line 54 of file socket_poller.cpp.

References items, pollfds, signaler, tag, and ZMQ_THREAD_SAFE.

zmq::socket_poller_t::socket_poller_t ( const socket_poller_t )
private

Member Function Documentation

int zmq::socket_poller_t::add ( socket_base_t socket,
void *  user_data,
short  events 
)

Definition at line 82 of file socket_poller.cpp.

References zmq::socket_base_t::add_signaler(), zmq::socket_base_t::getsockopt(), items, need_rebuild, signaler, and ZMQ_THREAD_SAFE.

Here is the call graph for this function:

int zmq::socket_poller_t::add_fd ( fd_t  fd,
void *  user_data,
short  events 
)

Definition at line 113 of file socket_poller.cpp.

References items, and need_rebuild.

bool zmq::socket_poller_t::check_tag ( )

Definition at line 77 of file socket_poller.cpp.

References tag.

int zmq::socket_poller_t::modify ( socket_base_t socket,
short  events 
)

Definition at line 133 of file socket_poller.cpp.

References items, and need_rebuild.

int zmq::socket_poller_t::modify_fd ( fd_t  fd,
short  events 
)

Definition at line 154 of file socket_poller.cpp.

References items, and need_rebuild.

const socket_poller_t& zmq::socket_poller_t::operator= ( const socket_poller_t )
private
int zmq::socket_poller_t::rebuild ( )
private

Definition at line 221 of file socket_poller.cpp.

References alloc_assert, zmq::signaler_t::get_fd(), items, need_rebuild, poll_size, pollfds, signaler, use_signaler, zmq_assert, ZMQ_FD, ZMQ_POLLERR, ZMQ_POLLIN, ZMQ_POLLOUT, ZMQ_POLLPRI, and ZMQ_THREAD_SAFE.

Referenced by wait().

Here is the call graph for this function:

Here is the caller graph for this function:

int zmq::socket_poller_t::remove ( socket_base_t socket)

Definition at line 175 of file socket_poller.cpp.

References zmq::socket_base_t::getsockopt(), items, need_rebuild, zmq::socket_base_t::remove_signaler(), signaler, and ZMQ_THREAD_SAFE.

Here is the call graph for this function:

int zmq::socket_poller_t::remove_fd ( fd_t  fd)

Definition at line 201 of file socket_poller.cpp.

References items, and need_rebuild.

Member Data Documentation

items_t zmq::socket_poller_t::items
private
bool zmq::socket_poller_t::need_rebuild
private

Definition at line 105 of file socket_poller.hpp.

Referenced by add(), add_fd(), modify(), modify_fd(), rebuild(), remove(), remove_fd(), and wait().

int zmq::socket_poller_t::poll_size
private

Definition at line 111 of file socket_poller.hpp.

Referenced by rebuild(), and wait().

pollfd* zmq::socket_poller_t::pollfds
private

Definition at line 114 of file socket_poller.hpp.

Referenced by rebuild(), wait(), and ~socket_poller_t().

signaler_t zmq::socket_poller_t::signaler
private

Definition at line 88 of file socket_poller.hpp.

Referenced by add(), rebuild(), remove(), wait(), and ~socket_poller_t().

uint32_t zmq::socket_poller_t::tag
private

Definition at line 85 of file socket_poller.hpp.

Referenced by check_tag(), and ~socket_poller_t().

bool zmq::socket_poller_t::use_signaler
private

Definition at line 108 of file socket_poller.hpp.

Referenced by rebuild(), and wait().