/usr/share/pyshared/pika/adapters/tornado_connection.py is in python-pika 0.9.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # ***** BEGIN LICENSE BLOCK *****
#
# For copyright and licensing please refer to COPYING.
#
# ***** END LICENSE BLOCK *****
try:
import tornado.ioloop
IOLoop = tornado.ioloop.IOLoop
except ImportError:
IOLoop = None
from warnings import warn
from pika.adapters.base_connection import BaseConnection
# Redefine our constants with Tornado's
if IOLoop:
ERROR = tornado.ioloop.IOLoop.ERROR
READ = tornado.ioloop.IOLoop.READ
WRITE = tornado.ioloop.IOLoop.WRITE
class TornadoConnection(BaseConnection):
def __init__(self, parameters=None, on_open_callback=None,
reconnection_strategy=None):
# Validate we have Tornado installed
if not IOLoop:
raise ImportError("Tornado not installed")
BaseConnection.__init__(self, parameters, on_open_callback,
reconnection_strategy)
def _adapter_connect(self, host, port):
"""
Connect to the given host and port
"""
BaseConnection._adapter_connect(self, host, port)
# Setup our ioloop
self.ioloop = IOLoop.instance()
# Add the ioloop handler for the event state
self.ioloop.add_handler(self.socket.fileno(),
self._handle_events,
self.event_state)
# Let everyone know we're connected
self._on_connected()
def _adapter_disconnect(self):
"""
Disconnect from the RabbitMQ Broker
"""
# Remove from the IOLoop
self.ioloop.remove_handler(self.socket.fileno())
# Close our socket since the Connection class told us to do so
self.socket.close()
# Let the developer know to look for this circumstance
warn("Tornado IOLoop may be running but Pika has shutdown.")
|