diff options
| -rw-r--r-- | src/options.cpp | 1 | ||||
| -rw-r--r-- | src/options.hpp | 6 | ||||
| -rw-r--r-- | src/socket_base.cpp | 32 | 
3 files changed, 13 insertions, 26 deletions
| diff --git a/src/options.cpp b/src/options.cpp index be7c4b5..63a1d91 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -40,7 +40,6 @@ zmq::options_t::options_t () :      maxmsgsize (-1),      rcvtimeo (-1),      sndtimeo (-1), -    immediate_connect (true),      delay_on_close (true),      delay_on_disconnect (true),      filter (false) diff --git a/src/options.hpp b/src/options.hpp index a4a0bc6..f1982da 100644 --- a/src/options.hpp +++ b/src/options.hpp @@ -79,12 +79,6 @@ namespace zmq          int rcvtimeo;          int sndtimeo; -        //  If true, when connecting, pipes are created immediately without -        //  waiting for the connection to be established. That way the socket -        //  is not aware of the peer's identity, however, it is able to send -        //  messages straight away. -        bool immediate_connect; -          //  If true, session reads all the pending messages from the pipe and          //  sends them to the network when socket is closed.          bool delay_on_close; diff --git a/src/socket_base.cpp b/src/socket_base.cpp index 98268de..1bc80f1 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -445,25 +445,19 @@ int zmq::socket_base_t::connect (const char *addr_)          io_thread, this, options, protocol.c_str (), address.c_str ());      alloc_assert (session); -    //  If 'immediate connect' feature is required, we'll create the pipes -    //  to the session straight away. Otherwise, they'll be created by the -    //  session once the connection is established. -    if (options.immediate_connect) { - -        //  Create a bi-directional pipe. -        object_t *parents [2] = {this, session}; -        pipe_t *pipes [2] = {NULL, NULL}; -        int hwms [2] = {options.sndhwm, options.rcvhwm}; -        bool delays [2] = {options.delay_on_disconnect, options.delay_on_close}; -        int rc = pipepair (parents, pipes, hwms, delays); -        errno_assert (rc == 0); - -        //  Attach local end of the pipe to the socket object. -        attach_pipe (pipes [0], blob_t ()); - -        //  Attach remote end of the pipe to the session object later on. -        session->attach_pipe (pipes [1]); -    } +    //  Create a bi-directional pipe. +    object_t *parents [2] = {this, session}; +    pipe_t *pipes [2] = {NULL, NULL}; +    int hwms [2] = {options.sndhwm, options.rcvhwm}; +    bool delays [2] = {options.delay_on_disconnect, options.delay_on_close}; +    rc = pipepair (parents, pipes, hwms, delays); +    errno_assert (rc == 0); + +    //  Attach local end of the pipe to the socket object. +    attach_pipe (pipes [0], blob_t ()); + +    //  Attach remote end of the pipe to the session object later on. +    session->attach_pipe (pipes [1]);      //  Activate the session. Make it a child of this socket.      launch_child (session); | 
