From 03d494d4f074a8707274e6d5fd21ac6dca917344 Mon Sep 17 00:00:00 2001 From: malosek Date: Wed, 16 Sep 2009 15:36:38 +0200 Subject: added udp:// transport prefix for PGM UDP encapsulation --- src/socket_base.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/socket_base.cpp') 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; -- cgit v1.2.3