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

#include <udp_engine.hpp>

Inheritance diagram for zmq::udp_engine_t:
Collaboration diagram for zmq::udp_engine_t:

Public Member Functions

 udp_engine_t ()
 
 ~udp_engine_t ()
 
void in_event ()
 
int init (address_t *address_, bool send_, bool recv_)
 
void out_event ()
 
void plug (zmq::io_thread_t *io_thread_, class session_base_t *session_)
 
void restart_input ()
 
void restart_output ()
 
void terminate ()
 
void zap_msg_available ()
 
- Public Member Functions inherited from zmq::io_object_t
 io_object_t (zmq::io_thread_t *io_thread_=NULL)
 
 ~io_object_t ()
 
void plug (zmq::io_thread_t *io_thread_)
 
void unplug ()
 
- Public Member Functions inherited from zmq::i_poll_events
virtual ~i_poll_events ()
 
- Public Member Functions inherited from zmq::i_engine
virtual ~i_engine ()
 

Private Attributes

address_taddress
 
fd_t fd
 
handle_t handle
 
unsigned char in_buffer [MAX_UDP_MSG]
 
unsigned char out_buffer [MAX_UDP_MSG]
 
bool plugged
 
bool recv_enabled
 
bool send_enabled
 
session_base_tsession
 

Additional Inherited Members

- Protected Types inherited from zmq::io_object_t
typedef poller_t::handle_t handle_t
 
- Protected Member Functions inherited from zmq::io_object_t
handle_t add_fd (fd_t fd_)
 
void add_timer (int timout_, int id_)
 
void cancel_timer (int id_)
 
void reset_pollin (handle_t handle_)
 
void reset_pollout (handle_t handle_)
 
void rm_fd (handle_t handle_)
 
void set_pollin (handle_t handle_)
 
void set_pollout (handle_t handle_)
 
void timer_event (int id_)
 

Detailed Description

Definition at line 17 of file udp_engine.hpp.

Constructor & Destructor Documentation

zmq::udp_engine_t::udp_engine_t ( )

Definition at line 49 of file udp_engine.cpp.

zmq::udp_engine_t::~udp_engine_t ( )

Definition at line 60 of file udp_engine.cpp.

References errno_assert, fd, plugged, zmq::retired_fd, and zmq_assert.

Member Function Documentation

void zmq::udp_engine_t::in_event ( )
virtual
int zmq::udp_engine_t::init ( address_t address_,
bool  send_,
bool  recv_ 
)

Definition at line 76 of file udp_engine.cpp.

References address, zmq::udp_address_t::family(), fd, zmq::open_socket(), recv_enabled, zmq::address_t::resolved, zmq::retired_fd, send_enabled, zmq::address_t::udp_addr, zmq::unblock_socket(), and zmq_assert.

Referenced by zmq::session_base_t::start_connecting().

Here is the call graph for this function:

Here is the caller graph for this function:

void zmq::udp_engine_t::out_event ( )
virtual
void zmq::udp_engine_t::restart_input ( )
virtual

Implements zmq::i_engine.

Definition at line 273 of file udp_engine.cpp.

References handle, in_event(), recv_enabled, and zmq::io_object_t::set_pollin().

Here is the call graph for this function:

void zmq::udp_engine_t::restart_output ( )
virtual

Implements zmq::i_engine.

Definition at line 198 of file udp_engine.cpp.

References zmq::msg_t::close(), handle, out_event(), zmq::session_base_t::pull_msg(), send_enabled, session, and zmq::io_object_t::set_pollout().

Referenced by plug().

Here is the call graph for this function:

Here is the caller graph for this function:

void zmq::udp_engine_t::terminate ( )
virtual

Implements zmq::i_engine.

Definition at line 144 of file udp_engine.cpp.

References handle, plugged, zmq::io_object_t::rm_fd(), zmq::io_object_t::unplug(), and zmq_assert.

Here is the call graph for this function:

void zmq::udp_engine_t::zap_msg_available ( )
inlinevirtual

Implements zmq::i_engine.

Definition at line 41 of file udp_engine.hpp.

References in_event(), and out_event().

Here is the call graph for this function:

Member Data Documentation

address_t* zmq::udp_engine_t::address
private

Definition at line 53 of file udp_engine.hpp.

Referenced by init(), out_event(), and plug().

fd_t zmq::udp_engine_t::fd
private

Definition at line 50 of file udp_engine.hpp.

Referenced by in_event(), init(), out_event(), plug(), and ~udp_engine_t().

handle_t zmq::udp_engine_t::handle
private

Definition at line 52 of file udp_engine.hpp.

Referenced by in_event(), out_event(), plug(), restart_input(), restart_output(), and terminate().

unsigned char zmq::udp_engine_t::in_buffer[MAX_UDP_MSG]
private

Definition at line 56 of file udp_engine.hpp.

Referenced by in_event().

unsigned char zmq::udp_engine_t::out_buffer[MAX_UDP_MSG]
private

Definition at line 55 of file udp_engine.hpp.

Referenced by out_event().

bool zmq::udp_engine_t::plugged
private

Definition at line 48 of file udp_engine.hpp.

Referenced by plug(), terminate(), and ~udp_engine_t().

bool zmq::udp_engine_t::recv_enabled
private

Definition at line 58 of file udp_engine.hpp.

Referenced by init(), plug(), and restart_input().

bool zmq::udp_engine_t::send_enabled
private

Definition at line 57 of file udp_engine.hpp.

Referenced by init(), plug(), and restart_output().

session_base_t* zmq::udp_engine_t::session
private

Definition at line 51 of file udp_engine.hpp.

Referenced by in_event(), out_event(), plug(), and restart_output().