7 #if defined ZMQ_HAVE_TIPC
13 #include "platform.hpp"
22 #include <sys/types.h>
23 #include <sys/socket.h>
24 #ifdef ZMQ_HAVE_VXWORKS
28 zmq::tipc_connecter_t::tipc_connecter_t (
class io_thread_t *io_thread_,
29 class session_base_t *session_,
32 bool delayed_start_) :
33 stream_connecter_base_t (
34 io_thread_, session_,
options_, addr_, delayed_start_)
39 void zmq::tipc_connecter_t::out_event ()
47 add_reconnect_timer ();
54 void zmq::tipc_connecter_t::start_connecting ()
61 _handle = add_fd (_s);
67 _handle = add_fd (_s);
68 set_pollout (_handle);
69 _socket->event_connect_delayed (
77 add_reconnect_timer ();
81 int zmq::tipc_connecter_t::open ()
86 if (_addr->resolved.tipc_addr->is_random ()) {
98 #ifdef ZMQ_HAVE_VXWORKS
99 int rc = ::connect (s, (sockaddr *) addr->resolved.tipc_addr->addr (),
100 addr->resolved.tipc_addr->addrlen ());
102 int rc = ::connect (_s, _addr->resolved.tipc_addr->addr (),
103 _addr->resolved.tipc_addr->addrlen ());
119 zmq::fd_t zmq::tipc_connecter_t::connect ()
124 #ifdef ZMQ_HAVE_VXWORKS
127 socklen_t
len =
sizeof (
err);
129 int rc = getsockopt (_s, SOL_SOCKET, SO_ERROR,
130 reinterpret_cast<char *
> (&
err), &
len);