diff options
author | Martin Sustrik <sustrik@fastmq.commkdir> | 2009-09-16 15:52:39 +0200 |
---|---|---|
committer | Martin Sustrik <sustrik@fastmq.commkdir> | 2009-09-16 15:52:39 +0200 |
commit | d16b3bc0c93452a4be7d06525793ac5190e38031 (patch) | |
tree | 8df8fd248b5b64c57a96b4da03506318f4d29956 /src/socket_base.cpp | |
parent | 35c58dc7331e3c5033b16829dff40437efe97a81 (diff) | |
parent | 10dd8c53460a28849aacf7d2e24b63d7fae11ae0 (diff) |
Merge branch 'master' of git@github.com:sustrik/zeromq2
Diffstat (limited to 'src/socket_base.cpp')
-rw-r--r-- | src/socket_base.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/socket_base.cpp b/src/socket_base.cpp index 88ba43f..570be9e 100644 --- a/src/socket_base.cpp +++ b/src/socket_base.cpp @@ -208,7 +208,7 @@ int zmq::socket_base_t::bind (const char *addr_) } #if defined ZMQ_HAVE_OPENPGM - if (addr_type == "pgm") { + if (addr_type == "pgm" || addr_type == "udp") { // In the case of PGM bind behaves the same like connect. return connect (addr_); } @@ -287,7 +287,12 @@ int zmq::socket_base_t::connect (const char *addr_) } #if defined ZMQ_HAVE_OPENPGM - if (addr_type == "pgm") { + if (addr_type == "pgm" || addr_type == "udp") { + + // For udp, pgm transport with udp encapsulation is used. + bool udp_encapsulation = false; + if (addr_type == "udp") + udp_encapsulation = true; switch (type) { @@ -298,7 +303,7 @@ int zmq::socket_base_t::connect (const char *addr_) new pgm_sender_t (choose_io_thread (options.affinity), options, session_name.c_str ()); - int rc = pgm_sender->init (addr_args.c_str ()); + int rc = pgm_sender->init (udp_encapsulation, addr_args.c_str ()); if (rc != 0) { delete pgm_sender; return -1; @@ -320,7 +325,7 @@ int zmq::socket_base_t::connect (const char *addr_) new pgm_receiver_t (choose_io_thread (options.affinity), options, session_name.c_str ()); - int rc = pgm_receiver->init (addr_args.c_str ()); + int rc = pgm_receiver->init (udp_encapsulation, addr_args.c_str ()); if (rc != 0) { delete pgm_receiver; return -1; |