[python-txzmq] Add support for zmq_tcp_keepalive.
Ralph Bean
ralph at fedoraproject.org
Wed Dec 5 16:04:17 UTC 2012
commit 2eb4bc212db7f923383d5128b00617e37cb0fce2
Author: Ralph Bean <rbean at redhat.com>
Date: Wed Dec 5 10:57:54 2012 -0500
Add support for zmq_tcp_keepalive.
Also, fix bad rhel conditional.
...low-the-user-to-set-TCP-keepalive-options.patch | 46 ++++++++++++++++++++
python-txzmq.spec | 11 ++++-
2 files changed, 55 insertions(+), 2 deletions(-)
---
diff --git a/0003-Allow-the-user-to-set-TCP-keepalive-options.patch b/0003-Allow-the-user-to-set-TCP-keepalive-options.patch
new file mode 100644
index 0000000..20fb9b9
--- /dev/null
+++ b/0003-Allow-the-user-to-set-TCP-keepalive-options.patch
@@ -0,0 +1,46 @@
+From 2c1ee2d8803dfd37c7fb72d313aaaa2f71e83bf6 Mon Sep 17 00:00:00 2001
+From: Ralph Bean <rbean at redhat.com>
+Date: Wed, 5 Dec 2012 10:47:14 -0500
+Subject: [PATCH] Allow the user to set TCP keepalive options.
+
+---
+ txzmq/connection.py | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/txzmq/connection.py b/txzmq/connection.py
+index 0458758..11166d8 100644
+--- a/txzmq/connection.py
++++ b/txzmq/connection.py
+@@ -63,6 +63,12 @@ class ZmqConnection(object):
+ multicastRate = 100
+ highWaterMark = 0
+
++ # Only supported by zeromq3 and pyzmq>=2.2.0.1
++ tcpKeepalive = 0
++ tcpKeepaliveCount = 0
++ tcpKeepaliveIdle = 0
++ tcpKeepaliveInterval = 0
++
+ def __init__(self, factory, endpoint=None, identity=None):
+ """
+ Constructor.
+@@ -100,6 +106,16 @@ class ZmqConnection(object):
+ self.socket.setsockopt(constants.SNDHWM, self.highWaterMark)
+ self.socket.setsockopt(constants.RCVHWM, self.highWaterMark)
+
++ if ZMQ3 and self.tcpKeepalive:
++ self.socket.setsockopt(
++ constants.TCP_KEEPALIVE, self.tcpKeepalive)
++ self.socket.setsockopt(
++ constants.TCP_KEEPALIVE_CNT, self.tcpKeepaliveCount)
++ self.socket.setsockopt(
++ constants.TCP_KEEPALIVE_IDLE, self.tcpKeepaliveIdle)
++ self.socket.setsockopt(
++ constants.TCP_KEEPALIVE_INTVL, self.tcpKeepaliveInterval)
++
+ if self.identity is not None:
+ self.socket.setsockopt(constants.IDENTITY, self.identity)
+
+--
+1.8.0.1
+
diff --git a/python-txzmq.spec b/python-txzmq.spec
index f9354f5..075a080 100644
--- a/python-txzmq.spec
+++ b/python-txzmq.spec
@@ -2,7 +2,7 @@
Name: python-txzmq
Version: 0.6.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Twisted bindings for ZeroMQ
Group: Development/Languages
@@ -11,6 +11,8 @@ URL: http://pypi.python.org/pypi/%{modname}
Source0: http://pypi.python.org/packages/source/t/%{modname}/%{modname}-%{version}.tar.gz
Patch0: 0001-Disable-epgm-test.patch
Patch1: 0002-Support-older-pyzmq.patch
+# Upstream - https://github.com/smira/txZMQ/pull/38
+Patch2: 0003-Allow-the-user-to-set-TCP-keepalive-options.patch
BuildArch: noarch
@@ -32,10 +34,11 @@ Twisted event loop (reactor).
%setup -q -n %{modname}-%{version}
%patch0 -p1 -b .disable_epgm_test
%patch1 -p1 -b .disable-older-pyzmq
+%patch2 -p1 -b .allow-tcp-keepalive
# Patch out the setuptools requirement on Twisted since epel doesn't ship
# twisted egg-info
-%if %{?rhel}%{!?rhel:0} >= 6
+%if 0%{?rhel}
%{__sed} -i 's/"Twisted",//' setup.py
%endif
@@ -55,6 +58,10 @@ PYTHONPATH=$(pwd) nosetests
%{python_sitelib}/*
%changelog
+* Wed Dec 05 2012 Ralph Bean <rbean at redhat.com> - 0.6.1-3
+- Patch to add support for tcp keepalives with zeromq3.
+- Fixed "bad" rhel conditional.
+
* Mon Oct 29 2012 Ralph Bean <rbean at redhat.com> - 0.6.1-2
- Patch (again) to support older pyzmq on f17 and el6.
More information about the scm-commits
mailing list