summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsk Solem <ask@celeryproject.org>2012-08-15 20:40:48 +0100
committerAsk Solem <ask@celeryproject.org>2012-08-15 20:41:01 +0100
commitfac110a8a78c9ff0e48e6df55c2e4ab0f7c15248 (patch)
treefc62ff37aab65d57c4c8ae2392dc28f9a1e6422a
parent597c35789e9b5d066c4284334f5d34e1949f2a19 (diff)
downloadkombu-fac110a8a78c9ff0e48e6df55c2e4ab0f7c15248.tar.gz
Transport.supports_ev is now used for Connection.is_evented
-rw-r--r--kombu/connection.py2
-rw-r--r--kombu/transport/amqplib.py1
-rw-r--r--kombu/transport/base.py12
-rw-r--r--kombu/transport/librabbitmq.py1
-rw-r--r--kombu/transport/pyamqp.py1
-rw-r--r--kombu/transport/zmq.py1
6 files changed, 17 insertions, 1 deletions
diff --git a/kombu/connection.py b/kombu/connection.py
index d970327a..44812901 100644
--- a/kombu/connection.py
+++ b/kombu/connection.py
@@ -657,7 +657,7 @@ class Connection(object):
@property
def is_evented(self):
- return getattr(self.transport, 'on_poll_start', None)
+ return self.transport.supports_ev
BrokerConnection = Connection
diff --git a/kombu/transport/amqplib.py b/kombu/transport/amqplib.py
index f87269af..ec1767d1 100644
--- a/kombu/transport/amqplib.py
+++ b/kombu/transport/amqplib.py
@@ -250,6 +250,7 @@ class Transport(base.Transport):
nb_keep_draining = True
driver_name = "amqplib"
driver_type = "amqp"
+ supports_ev = True
def __init__(self, client, **kwargs):
self.client = client
diff --git a/kombu/transport/base.py b/kombu/transport/base.py
index 1da86377..b4b48687 100644
--- a/kombu/transport/base.py
+++ b/kombu/transport/base.py
@@ -205,6 +205,9 @@ class Transport(object):
#: and that the :meth:`heartbeat_check` method has any effect.
supports_heartbeats = False
+ #: Set to true if the transport supports the AIO interface.
+ supports_ev = False
+
def __init__(self, client, **kwargs):
self.client = client
@@ -234,6 +237,15 @@ class Transport(object):
Unconvenient to use, and limited transport support."""
return {}
+ def on_poll_init(self, poller):
+ pass
+
+ def on_poll_start(self):
+ raise NotImplementedError('transport: no eventloop support')
+
+ def on_poll_empty(self):
+ pass
+
def verify_connection(self, connection):
return True
diff --git a/kombu/transport/librabbitmq.py b/kombu/transport/librabbitmq.py
index 0dc8e416..a3be2d3c 100644
--- a/kombu/transport/librabbitmq.py
+++ b/kombu/transport/librabbitmq.py
@@ -77,6 +77,7 @@ class Transport(base.Transport):
driver_type = 'amqp'
driver_name = 'librabbitmq'
+ supports_ev = True
nb_keep_draining = True
def __init__(self, client, **kwargs):
diff --git a/kombu/transport/pyamqp.py b/kombu/transport/pyamqp.py
index a15ccaf3..2ad938c7 100644
--- a/kombu/transport/pyamqp.py
+++ b/kombu/transport/pyamqp.py
@@ -71,6 +71,7 @@ class Transport(base.Transport):
driver_name = "py-amqp"
driver_type = "amqp"
supports_heartbeats = True
+ supports_ev = True
def __init__(self, client, **kwargs):
self.client = client
diff --git a/kombu/transport/zmq.py b/kombu/transport/zmq.py
index afd25462..17e3cbb2 100644
--- a/kombu/transport/zmq.py
+++ b/kombu/transport/zmq.py
@@ -219,6 +219,7 @@ class Transport(virtual.Transport):
connection_errors = (zmq.ZMQError,)
channel_errors = (zmq.ZMQError, StdChannelError,)
+ supports_ev = True
polling_interval = None
nb_keep_draining = True