Commit f4ac8d7a authored by Martin Sustrik's avatar Martin Sustrik

OpenPGM v1 support removed

parent 73b765e4
...@@ -9,13 +9,11 @@ endif ...@@ -9,13 +9,11 @@ endif
SUBDIRS = src $(DIR_MAN) $(DIR_PERF) devices bindings examples SUBDIRS = src $(DIR_MAN) $(DIR_PERF) devices bindings examples
DIST_SUBDIRS = src man perf devices bindings examples DIST_SUBDIRS = src man perf devices bindings examples
EXTRA_DIST = $(top_srcdir)/foreign/openpgm/@pgm1_basename@.tar.bz2 \ EXTRA_DIST = \
$(top_srcdir)/foreign/openpgm/@pgm2_basename@.tar.bz2 \ $(top_srcdir)/foreign/openpgm/@pgm2_basename@.tar.bz2 \
$(top_srcdir)/foreign/openpgm/lost_data_tsi.patch \
$(top_srcdir)/foreign/openpgm/create_custom_gsi_1.patch \ $(top_srcdir)/foreign/openpgm/create_custom_gsi_1.patch \
$(top_srcdir)/foreign/xmlParser/xmlParser.cpp \ $(top_srcdir)/foreign/xmlParser/xmlParser.cpp \
$(top_srcdir)/foreign/xmlParser/xmlParser.hpp $(top_srcdir)/foreign/xmlParser/xmlParser.hpp
dist-hook: dist-hook:
-rm -rf $(distdir)/foreign/openpgm/@pgm1_basename@
-rm -rf $(distdir)/foreign/openpgm/@pgm2_basename@ -rm -rf $(distdir)/foreign/openpgm/@pgm2_basename@
...@@ -407,33 +407,22 @@ if test "x$clzmq" = "xyes"; then ...@@ -407,33 +407,22 @@ if test "x$clzmq" = "xyes"; then
fi fi
# PGM extension # PGM extension
pgm1_ext="no"
pgm2_ext="no" pgm2_ext="no"
pgm1_basename="libpgm-1.2.14"
pgm2_basename="libpgm-2.0.17rc2" pgm2_basename="libpgm-2.0.17rc2"
AC_SUBST(pgm1_basename)
AC_SUBST(pgm2_basename) AC_SUBST(pgm2_basename)
pgm_basename="" pgm_basename=""
AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm], AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
[build libzmq with PGM v1 extension [default=no]])], [build libzmq with PGM extension [default=no]])],
[with_pgm1_ext=yes], [with_pgm1_ext=no])
AC_ARG_WITH([pgm2], [AS_HELP_STRING([--with-pgm2],
[build libzmq with PGM v2 extension [default=no]])],
[with_pgm2_ext=yes], [with_pgm2_ext=no]) [with_pgm2_ext=yes], [with_pgm2_ext=no])
AC_ARG_WITH([pgm2-examples], [AS_HELP_STRING([--with-pgm2-examples], AC_ARG_WITH([pgm-examples], [AS_HELP_STRING([--with-pgm-examples],
[build PGM v2 examples [default=no]])], [build PGM examples [default=no]])],
[with_pgm2_examples=yes], [with_pgm2_examples=no]) [with_pgm2_examples=yes], [with_pgm2_examples=no])
if test "x$with_pgm1_ext" != "xno" -a "x$with_pgm2_ext" != "xno"; then
AC_MSG_ERROR([Can not configure --with-pgm and --with-pgm2.]);
fi
if test "x$with_pgm2_ext" = "xno" -a "x$with_pgm2_examples" = "xyes"; then if test "x$with_pgm2_ext" = "xno" -a "x$with_pgm2_examples" = "xyes"; then
AC_MSG_ERROR([Can not configure --with-pgm2-examples without --with-pgm2.]); AC_MSG_ERROR([Can not configure --with-pgm2-examples without --with-pgm2.]);
fi fi
...@@ -442,98 +431,6 @@ if test "x$c" = "xno" -a "x$with_pgm2_examples" = "xyes"; then ...@@ -442,98 +431,6 @@ if test "x$c" = "xno" -a "x$with_pgm2_examples" = "xyes"; then
AC_MSG_ERROR([Can not configure --with-pgm2-examples without --with-c.]); AC_MSG_ERROR([Can not configure --with-pgm2-examples without --with-c.]);
fi fi
if test "x$with_pgm1_ext" != "xno"; then
pgm_basename=${pgm1_basename}
# Test if we have pkg-config
if test "x$have_pkg_config" != "xyes"; then
AC_MSG_ERROR([To run configure with --with-pgm option, pkg-config has to be installed.]);
fi
case "${host_os}" in
*linux*)
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -Wno-variadic-macros -Wno-long-long "
;;
*)
AC_MSG_ERROR([PGM extesion is not supported on this platform $host.])
;;
esac
AC_CHECK_PROG(have_tar, tar, yes, no)
if test "x$have_tar" != "xyes"; then
AC_MSG_ERROR([Could not find tar.])
fi
AC_CHECK_PROG(have_patch, patch, yes, no)
if test "x$have_patch" != "xyes"; then
AC_MSG_ERROR([Could not find patch.])
fi
AC_CHECK_PROG(have_bunzip2, bunzip2, yes, no)
if test "x$have_bunzip2" != "xyes"; then
AC_MSG_ERROR([Could not find bunzip2.])
fi
AC_CHECK_PROG(have_perl, perl, yes, no)
if test "x$have_perl" != "xyes"; then
AC_MSG_ERROR([Could not find perl.])
fi
if test "x$pyzmq" != "xyes"; then
AC_CHECK_PROG(have_python, python, yes, no)
if test "x$have_python" != "xyes"; then
AC_MSG_ERROR([Could not find python.])
fi
fi
# Unpack libpgm1
AC_MSG_CHECKING([Unpacking ${pgm_basename}.tar.bz2])
if tar -xjf foreign/openpgm/${pgm_basename}.tar.bz2 -C foreign/openpgm/; then
AC_MSG_RESULT([yes])
else
AC_MSG_ERROR([Could not unpack foreign/openpgm/${pgm_basename}.tar.bz2 file.])
fi
AC_MSG_CHECKING([Patching ${pgm_basename}])
if patch --silent -p0 < foreign/openpgm/lost_data_tsi.patch; then
AC_MSG_RESULT([yes])
else
AC_MSG_ERROR([Could not apply foreign/openpgm/lost_data_tsi.patch file.])
fi
AC_MSG_CHECKING([Patching ${pgm_basename}])
if patch --silent -p0 < foreign/openpgm/create_custom_gsi_1.patch; then
AC_MSG_RESULT([yes])
else
AC_MSG_ERROR([Could not apply foreign/openpgm/create_custom_gsi_1.patch file.])
fi
# Generate galois_tables.c
AC_CONFIG_COMMANDS([galois_tables.c],
[perl foreign/openpgm/libpgm-1.2.14/openpgm/pgm/galois_generator.pl > \
foreign/openpgm/libpgm-1.2.14/openpgm/pgm/galois_tables.c])
# Generate version.c
AC_CONFIG_COMMANDS([version.c],
[python foreign/openpgm/libpgm-1.2.14/openpgm/pgm/version_generator.py > \
foreign/openpgm/libpgm-1.2.14/openpgm/pgm/version.c])
# Check for OpenPGM nedded libraries.
PKG_CHECK_MODULES([GLIB], [glib-2.0 gthread-2.0])
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} ${GLIB_CFLAGS} "
LIBZMQ_EXTRA_LDFLAFS="${LIBZMQ_EXTRA_LDFLAFS} ${GLIB_LIBS}"
AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM v1 or v2 extension.])
AC_DEFINE(ZMQ_HAVE_OPENPGM1, 1, [Have OpenPGM v1 extension.])
pgm1_ext="yes"
fi
if test "x$with_pgm2_ext" != "xno"; then if test "x$with_pgm2_ext" != "xno"; then
pgm_basename=${pgm2_basename} pgm_basename=${pgm2_basename}
...@@ -596,12 +493,12 @@ fi ...@@ -596,12 +493,12 @@ fi
AC_SUBST(pgm_basename) AC_SUBST(pgm_basename)
# If not on QNX nor OSX nor PGM add -pedantic into LIBZMQ_EXTRA_CXXFLAGS. # If not on QNX nor OSX nor PGM add -pedantic into LIBZMQ_EXTRA_CXXFLAGS.
if test "x$pedantic" = "xyes" -a "x$pgm1_ext" = "xno" -a "x$pgm2_ext" = "xno"; then if test "x$pedantic" = "xyes" -a "x$pgm2_ext" = "xno"; then
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -pedantic" LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -pedantic"
fi fi
# If not on QNX nor --with-pgm/2add -Werror into LIBZMQ_EXTRA_CXXFLAGS. # If not on QNX nor --with-pgm2 add -Werror into LIBZMQ_EXTRA_CXXFLAGS.
if test "x$werror" = "xyes" -a "x$pgm1_ext" = "xno" -a "x$pgm2_ext" = "xno"; then if test "x$werror" = "xyes" -a "x$pgm2_ext" = "xno"; then
LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -Werror" LIBZMQ_EXTRA_CXXFLAGS="${LIBZMQ_EXTRA_CXXFLAGS} -Werror"
fi fi
...@@ -655,9 +552,8 @@ AM_CONDITIONAL(BUILD_RUBY, test "x$rbzmq" = "xyes") ...@@ -655,9 +552,8 @@ AM_CONDITIONAL(BUILD_RUBY, test "x$rbzmq" = "xyes")
AM_CONDITIONAL(BUILD_C, test "x$czmq" = "xyes") AM_CONDITIONAL(BUILD_C, test "x$czmq" = "xyes")
AM_CONDITIONAL(BUILD_CL, test "x$clzmq" = "xyes") AM_CONDITIONAL(BUILD_CL, test "x$clzmq" = "xyes")
AM_CONDITIONAL(BUILD_CPP, test "x$cppzmq" = "xyes") AM_CONDITIONAL(BUILD_CPP, test "x$cppzmq" = "xyes")
AM_CONDITIONAL(BUILD_PGM1, test "x$pgm1_ext" = "xyes")
AM_CONDITIONAL(BUILD_PGM2, test "x$pgm2_ext" = "xyes") AM_CONDITIONAL(BUILD_PGM2, test "x$pgm2_ext" = "xyes")
AM_CONDITIONAL(BUILD_NO_PGM, test "x$pgm2_ext" = "xno" -a "x$pgm1_ext" = "xno") AM_CONDITIONAL(BUILD_NO_PGM, test "x$pgm2_ext" = "xno")
AM_CONDITIONAL(BUILD_FORWARDER, test "x$forwarder" = "xyes") AM_CONDITIONAL(BUILD_FORWARDER, test "x$forwarder" = "xyes")
AM_CONDITIONAL(BUILD_STREAMER, test "x$streamer" = "xyes") AM_CONDITIONAL(BUILD_STREAMER, test "x$streamer" = "xyes")
AM_CONDITIONAL(BUILD_PERF, test "x$perf" = "xyes") AM_CONDITIONAL(BUILD_PERF, test "x$perf" = "xyes")
...@@ -712,17 +608,11 @@ AC_MSG_RESULT([ Ruby: $rbzmq]) ...@@ -712,17 +608,11 @@ AC_MSG_RESULT([ Ruby: $rbzmq])
if test "x$rbzmq" = "xyes"; then if test "x$rbzmq" = "xyes"; then
AC_MSG_RESULT([ Ruby library install dir: $rubydir]) AC_MSG_RESULT([ Ruby library install dir: $rubydir])
fi fi
AC_MSG_RESULT([ Network protocols:]) AC_MSG_RESULT([ Transports:])
AC_MSG_RESULT([ TCP: yes]) AC_MSG_RESULT([ tcp: yes])
if test "x$pgm1_ext" = "xyes"; then AC_MSG_RESULT([ udp: $pgm2_ext])
AC_MSG_RESULT([ PGM: $pgm1_ext ($pgm_basename)]) AC_MSG_RESULT([ pgm: $pgm2_ext])
fi AC_MSG_RESULT([ inproc: yes])
if test "x$pgm2_ext" = "xyes"; then
AC_MSG_RESULT([ PGM: $pgm2_ext ($pgm_basename)])
fi
if test "x$pgm1_ext" = "xno" -a "x$pgm2_ext" = "xno"; then
AC_MSG_RESULT([ PGM: no])
fi
AC_MSG_RESULT([ Devices:]) AC_MSG_RESULT([ Devices:])
AC_MSG_RESULT([ Forwarder: $forwarder]) AC_MSG_RESULT([ Forwarder: $forwarder])
AC_MSG_RESULT([ Streamer: $streamer]) AC_MSG_RESULT([ Streamer: $streamer])
......
--- foreign/openpgm/libpgm-1.2.14/openpgm/pgm/transport.c 2009-08-27 04:54:04.000000000 +0200
+++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/transport.c 2009-09-22 14:36:07.713124619 +0200
@@ -2342,6 +2342,7 @@
if (waiting_rxw->ack_cumulative_losses != waiting_rxw->cumulative_losses)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), waiting_rxw->identifier, sizeof (pgm_tsi_t));
waiting_rxw->pgm_sock_err.lost_count = waiting_rxw->cumulative_losses - waiting_rxw->ack_cumulative_losses;
waiting_rxw->ack_cumulative_losses = waiting_rxw->cumulative_losses;
}
@@ -2705,6 +2706,7 @@
if (waiting_rxw->ack_cumulative_losses != waiting_rxw->cumulative_losses)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), waiting_rxw->identifier, sizeof (pgm_tsi_t));
waiting_rxw->pgm_sock_err.lost_count = waiting_rxw->cumulative_losses - waiting_rxw->ack_cumulative_losses;
waiting_rxw->ack_cumulative_losses = waiting_rxw->cumulative_losses;
}
@@ -3407,6 +3409,7 @@
!sender_rxw->waiting_link.data)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), sender_rxw->identifier, sizeof (pgm_tsi_t));
sender_rxw->pgm_sock_err.lost_count = sender_rxw->cumulative_losses - sender_rxw->ack_cumulative_losses;
sender_rxw->ack_cumulative_losses = sender_rxw->cumulative_losses;
@@ -3823,6 +3826,7 @@
!peer_rxw->waiting_link.data)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), peer_rxw->identifier, sizeof (pgm_tsi_t));
peer_rxw->pgm_sock_err.lost_count = peer_rxw->cumulative_losses - peer_rxw->ack_cumulative_losses;
peer_rxw->ack_cumulative_losses = peer_rxw->cumulative_losses;
@@ -3952,6 +3956,7 @@
!peer_rxw->waiting_link.data)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), peer_rxw->identifier, sizeof (pgm_tsi_t));
peer_rxw->pgm_sock_err.lost_count = peer_rxw->cumulative_losses - peer_rxw->ack_cumulative_losses;
peer_rxw->ack_cumulative_losses = peer_rxw->cumulative_losses;
@@ -4849,6 +4854,7 @@
!rxw->waiting_link.data)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), rxw->identifier, sizeof (pgm_tsi_t));
rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
rxw->ack_cumulative_losses = rxw->cumulative_losses;
@@ -5166,6 +5172,7 @@
!rxw->waiting_link.data)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), rxw->identifier, sizeof (pgm_tsi_t));
rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
rxw->ack_cumulative_losses = rxw->cumulative_losses;
@@ -5303,6 +5310,7 @@
!rxw->waiting_link.data)
{
transport->has_lost_data = TRUE;
+ memcpy (&(transport->lost_data_tsi), rxw->identifier, sizeof (pgm_tsi_t));
rxw->pgm_sock_err.lost_count = rxw->cumulative_losses - rxw->ack_cumulative_losses;
rxw->ack_cumulative_losses = rxw->cumulative_losses;
--- foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h 2009-08-27 04:53:23.000000000 +0200
+++ foreign/openpgm/libpgm-1.2.14/openpgm/pgm/include/pgm/transport.h 2009-09-21 15:49:36.000000000 +0200
@@ -205,6 +205,7 @@
gboolean is_bound;
gboolean is_open;
gboolean has_lost_data;
+ pgm_tsi_t lost_data_tsi;
gboolean will_close_on_failure;
gboolean can_send_data; /* and SPMs */
...@@ -15,23 +15,6 @@ include_HEADERS = ../bindings/c/zmq.h ...@@ -15,23 +15,6 @@ include_HEADERS = ../bindings/c/zmq.h
endif endif
endif endif
if BUILD_PGM1
pgm_sources = ../foreign/openpgm/@pgm_basename@/openpgm/pgm/packet.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/timer.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/if.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/gsi.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/signal.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/txwi.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/rxwi.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/transport.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/rate_control.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/async.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/checksum.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/reed_solomon.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/version.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/galois_tables.c
endif
if BUILD_PGM2 if BUILD_PGM2
pgm_sources = ../foreign/openpgm/@pgm_basename@/openpgm/pgm/packet.c \ pgm_sources = ../foreign/openpgm/@pgm_basename@/openpgm/pgm/packet.c \
../foreign/openpgm/@pgm_basename@/openpgm/pgm/time.c \ ../foreign/openpgm/@pgm_basename@/openpgm/pgm/time.c \
...@@ -179,48 +162,6 @@ libzmq_la_SOURCES = app_thread.hpp \ ...@@ -179,48 +162,6 @@ libzmq_la_SOURCES = app_thread.hpp \
libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAFS@ libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAFS@
if BUILD_PGM1
libzmq_la_CXXFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ -Wall @LIBZMQ_EXTRA_CXXFLAGS@
libzmq_la_CFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ @LIBZMQ_EXTRA_CXXFLAGS@ \
-pipe \
-Wall \
-Wextra \
-Wfloat-equal \
-Wshadow \
-Wunsafe-loop-optimizations \
-Wpointer-arith \
-Wbad-function-cast \
-Wcast-qual \
-Wcast-align \
-Wwrite-strings \
-Waggregate-return \
-Wstrict-prototypes \
-Wold-style-definition \
-Wmissing-prototypes \
-Wmissing-declarations \
-Wmissing-noreturn \
-Wmissing-format-attribute \
-Wredundant-decls \
-Wnested-externs \
-Winline \
-pedantic \
-std=gnu99 \
--param max-inline-insns-single=600 \
-D_REENTRANT \
-D_GNU_SOURCE \
-D__need_IOV_MAX \
-DCONFIG_HAVE_EPOLL \
-DCONFIG_HAVE_RTC \
-DCONFIG_HAVE_TSC \
-DCONFIG_HAVE_IFR_NETMASK \
-DCONFIG_HAVE_GETIFADDRS \
-DCONFIG_HAVE_GETHOSTBYNAME2 \
-DCONFIG_HAVE_GETPROTOBYNAME_R \
-DCONFIG_HAVE_SIGHANDLER_T \
-DCONFIG_BIND_INADDR_ANY \
-DCONFIG_GALOIS_MUL_LUT
endif
if BUILD_PGM2 if BUILD_PGM2
libzmq_la_CXXFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ -Wall @LIBZMQ_EXTRA_CXXFLAGS@ libzmq_la_CXXFLAGS = -I$(top_srcdir)/foreign/openpgm/@pgm_basename@/openpgm/pgm/include/ -Wall @LIBZMQ_EXTRA_CXXFLAGS@
......
...@@ -165,13 +165,8 @@ void zmq::pgm_receiver_t::in_event () ...@@ -165,13 +165,8 @@ void zmq::pgm_receiver_t::in_event ()
peer_info_t peer_info = {false, NULL}; peer_info_t peer_info = {false, NULL};
it = peers.insert (std::make_pair (*tsi, peer_info)).first; it = peers.insert (std::make_pair (*tsi, peer_info)).first;
#ifdef ZMQ_HAVE_OPENPGM1
zmq_log (1, "New peer TSI: %s, %s(%i).\n", pgm_print_tsi (tsi),
__FILE__, __LINE__);
#elif ZMQ_HAVE_OPENPGM2
zmq_log (1, "New peer TSI: %s, %s(%i).\n", pgm_tsi_print (tsi), zmq_log (1, "New peer TSI: %s, %s(%i).\n", pgm_tsi_print (tsi),
__FILE__, __LINE__); __FILE__, __LINE__);
#endif
} }
// There is not beginning of the message in current APDU and we // There is not beginning of the message in current APDU and we
...@@ -197,13 +192,8 @@ void zmq::pgm_receiver_t::in_event () ...@@ -197,13 +192,8 @@ void zmq::pgm_receiver_t::in_event ()
it->second.decoder = new zmq_decoder_t (0); it->second.decoder = new zmq_decoder_t (0);
it->second.decoder->set_inout (inout); it->second.decoder->set_inout (inout);
#ifdef ZMQ_HAVE_OPENPGM1
zmq_log (1, "Peer %s joined into the stream, %s(%i)\n",
pgm_print_tsi (tsi), __FILE__, __LINE__);
#elif ZMQ_HAVE_OPENPGM2
zmq_log (1, "Peer %s joined into the stream, %s(%i)\n", zmq_log (1, "Peer %s joined into the stream, %s(%i)\n",
pgm_tsi_print (tsi), __FILE__, __LINE__); pgm_tsi_print (tsi), __FILE__, __LINE__);
#endif
} }
if (nbytes > 0) { if (nbytes > 0) {
......
...@@ -74,19 +74,13 @@ void zmq::pgm_sender_t::plug (i_inout *inout_) ...@@ -74,19 +74,13 @@ void zmq::pgm_sender_t::plug (i_inout *inout_)
// Alocate 2 fds for PGM socket. // Alocate 2 fds for PGM socket.
int downlink_socket_fd = 0; int downlink_socket_fd = 0;
int uplink_socket_fd = 0; int uplink_socket_fd = 0;
#ifdef ZMQ_HAVE_OPENPGM2
int rdata_notify_fd = 0; int rdata_notify_fd = 0;
#endif
encoder.set_inout (inout_); encoder.set_inout (inout_);
// Fill fds from PGM transport. // Fill fds from PGM transport.
#ifdef ZMQ_HAVE_OPENPGM1
pgm_socket.get_sender_fds (&downlink_socket_fd, &uplink_socket_fd);
#elif ZMQ_HAVE_OPENPGM2
pgm_socket.get_sender_fds pgm_socket.get_sender_fds
(&downlink_socket_fd, &uplink_socket_fd, &rdata_notify_fd); (&downlink_socket_fd, &uplink_socket_fd, &rdata_notify_fd);
#endif
// Add downlink_socket_fd into poller. // Add downlink_socket_fd into poller.
handle = add_fd (downlink_socket_fd); handle = add_fd (downlink_socket_fd);
...@@ -95,16 +89,12 @@ void zmq::pgm_sender_t::plug (i_inout *inout_) ...@@ -95,16 +89,12 @@ void zmq::pgm_sender_t::plug (i_inout *inout_)
uplink_handle = add_fd (uplink_socket_fd); uplink_handle = add_fd (uplink_socket_fd);
// Add rdata_notify_fd into the poller. // Add rdata_notify_fd into the poller.
#ifdef ZMQ_HAVE_OPENPGM2
rdata_notify_handle = add_fd (rdata_notify_fd); rdata_notify_handle = add_fd (rdata_notify_fd);
#endif
// Set POLLIN. We wont never want to stop polling for uplink = we never // Set POLLIN. We wont never want to stop polling for uplink = we never
// want to stop porocess NAKs. // want to stop porocess NAKs.
set_pollin (uplink_handle); set_pollin (uplink_handle);
#ifdef ZMQ_HAVE_OPENPGM2
set_pollin (rdata_notify_handle); set_pollin (rdata_notify_handle);
#endif
// Set POLLOUT for downlink_socket_handle. // Set POLLOUT for downlink_socket_handle.
set_pollout (handle); set_pollout (handle);
...@@ -116,9 +106,7 @@ void zmq::pgm_sender_t::unplug () ...@@ -116,9 +106,7 @@ void zmq::pgm_sender_t::unplug ()
{ {
rm_fd (handle); rm_fd (handle);
rm_fd (uplink_handle); rm_fd (uplink_handle);
#ifdef ZMQ_HAVE_OPENPGM2
rm_fd (rdata_notify_handle); rm_fd (rdata_notify_handle);
#endif
encoder.set_inout (NULL); encoder.set_inout (NULL);
inout = NULL; inout = NULL;
} }
...@@ -195,12 +183,6 @@ void zmq::pgm_sender_t::out_event () ...@@ -195,12 +183,6 @@ void zmq::pgm_sender_t::out_event ()
zmq_log (1, "pgm rate limit reached, %s(%i)\n", __FILE__, __LINE__); zmq_log (1, "pgm rate limit reached, %s(%i)\n", __FILE__, __LINE__);
} }
#ifdef ZMQ_HAVE_OPENPGM1
// After sending data slice is owned by tx window.
if (nbytes) {
out_buffer = NULL;
}
#endif
write_pos += nbytes; write_pos += nbytes;
} }
......
...@@ -80,9 +80,7 @@ namespace zmq ...@@ -80,9 +80,7 @@ namespace zmq
// Poll handle associated with PGM socket. // Poll handle associated with PGM socket.
handle_t handle; handle_t handle;
handle_t uplink_handle; handle_t uplink_handle;
#ifdef ZMQ_HAVE_OPENPGM2
handle_t rdata_notify_handle; handle_t rdata_notify_handle;
#endif
// Parent session. // Parent session.
i_inout *inout; i_inout *inout;
......
This diff is collapsed.
...@@ -114,35 +114,19 @@ namespace zmq ...@@ -114,35 +114,19 @@ namespace zmq
pgm_msgv_t *pgm_msgv; pgm_msgv_t *pgm_msgv;
// How many bytes were read from pgm socket. // How many bytes were read from pgm socket.
#ifdef ZMQ_HAVE_OPENPGM1
ssize_t nbytes_rec;
#elif defined ZMQ_HAVE_OPENPGM2
size_t nbytes_rec; size_t nbytes_rec;
#endif
// How many bytes were processed from last pgm socket read. // How many bytes were processed from last pgm socket read.
#ifdef ZMQ_HAVE_OPENPGM1
ssize_t nbytes_processed;
#elif defined ZMQ_HAVE_OPENPGM2
size_t nbytes_processed; size_t nbytes_processed;
#endif
// How many messages from pgm_msgv were already sent up. // How many messages from pgm_msgv were already sent up.
#ifdef ZMQ_HAVE_OPENPGM1
ssize_t pgm_msgv_processed;
#elif defined ZMQ_HAVE_OPENPGM2
size_t pgm_msgv_processed; size_t pgm_msgv_processed;
#endif
// Size of pgm_msgv array. // Size of pgm_msgv array.
size_t pgm_msgv_len; size_t pgm_msgv_len;
// Sender transport uses 2 fd. // Sender transport uses 2 fd.
#ifdef ZMQ_HAVE_OPENPGM1
enum {pgm_sender_fd_count = 2};
#elif ZMQ_HAVE_OPENPGM2
enum {pgm_sender_fd_count = 3}; enum {pgm_sender_fd_count = 3};
#endif
// Receiver transport uses 2 fd. // Receiver transport uses 2 fd.
enum {pgm_receiver_fd_count = 2}; enum {pgm_receiver_fd_count = 2};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment