"""Queues"""
-__all__ = ['Queue', 'PriorityQueue', 'LifoQueue', 'QueueFull', 'QueueEmpty',
- 'JoinableQueue']
+__all__ = ['Queue', 'PriorityQueue', 'LifoQueue', 'QueueFull', 'QueueEmpty']
import collections
import heapq
+from . import compat
from . import events
from . import futures
from . import locks
return self._queue.pop()
-JoinableQueue = Queue
-"""Deprecated alias for Queue."""
+if not compat.PY35:
+ JoinableQueue = Queue
+ """Deprecated alias for Queue."""
+ __all__.append('JoinableQueue')
]
import socket
-import sys
if hasattr(socket, 'AF_UNIX'):
__all__.extend(['open_unix_connection', 'start_unix_server'])
def eof_received(self):
self._stream_reader.feed_eof()
+ return True
class StreamWriter:
self._transport = None
self._paused = False
+ def __repr__(self):
+ info = ['StreamReader']
+ if self._buffer:
+ info.append('%d bytes' % len(info))
+ if self._eof:
+ info.append('eof')
+ if self._limit != _DEFAULT_LIMIT:
+ info.append('l=%d' % self._limit)
+ if self._waiter:
+ info.append('w=%r' % self._waiter)
+ if self._exception:
+ info.append('e=%r' % self._exception)
+ if self._transport:
+ info.append('t=%r' % self._transport)
+ if self._paused:
+ info.append('paused')
+ return '<%s>' % ' '.join(info)
+
def exception(self):
return self._exception
def handle_client(self, client_reader, client_writer):
data = yield from client_reader.readline()
client_writer.write(data)
+ yield from client_writer.drain()
+ client_writer.close()
def start(self):
sock = socket.socket()
return sock.getsockname()
def handle_client_callback(self, client_reader, client_writer):
- task = asyncio.Task(client_reader.readline(), loop=self.loop)
-
- def done(task):
- client_writer.write(task.result())
-
- task.add_done_callback(done)
+ self.loop.create_task(self.handle_client(client_reader,
+ client_writer))
def start_callback(self):
sock = socket.socket()
def handle_client(self, client_reader, client_writer):
data = yield from client_reader.readline()
client_writer.write(data)
+ yield from client_writer.drain()
+ client_writer.close()
def start(self):
self.server = self.loop.run_until_complete(
loop=self.loop))
def handle_client_callback(self, client_reader, client_writer):
- task = asyncio.Task(client_reader.readline(), loop=self.loop)
-
- def done(task):
- client_writer.write(task.result())
-
- task.add_done_callback(done)
+ self.loop.create_task(self.handle_client(client_reader,
+ client_writer))
def start_callback(self):
- self.server = self.loop.run_until_complete(
- asyncio.start_unix_server(self.handle_client_callback,
- path=self.path,
- loop=self.loop))
+ start = asyncio.start_unix_server(self.handle_client_callback,
+ path=self.path,
+ loop=self.loop)
+ self.server = self.loop.run_until_complete(start)
def stop(self):
if self.server is not None: