def open_connection(self, host=None, port=None, *, limit=None, **kwds): """A wrapper for create_connection() returning a (reader, writer) pair. The reader returned is a StreamReader instance; the writer is a StreamWriter instance. The arguments are all the usual arguments to create_connection() except protocol_factory; most common are positional host and port, with various optional keyword arguments following. Additional optional keyword arguments are loop (to set the event loop instance to use) and limit (to set the buffer limit passed to the StreamReader). (If you want to customize the StreamReader and/or StreamReaderProtocol classes, just copy the code -- there's really nothing special here except some convenience.) """ if not limit: limit = asyncio.streams._DEFAULT_LIMIT # type: ignore reader = asyncio.streams.StreamReader(limit=limit, loop=self.loop) protocol = asyncio.streams.StreamReaderProtocol(reader, loop=self.loop) sock = self._open_mock_socket(host, port) transport = _SelectorSocketTransport(self.loop, sock, protocol) writer = asyncio.streams.StreamWriter(transport, protocol, reader, self.loop) return reader, writer # type: ignore
def socket_transport(self, waiter=None): transport = _SelectorSocketTransport(self.loop, self.sock, self.protocol, waiter=waiter) self.addCleanup(close_transport, transport) return transport
def _make_socket_transport(self, sock, protocol, waiter=None, *, extra=None, server=None): return selector_events._SelectorSocketTransport( self, sock, protocol, waiter, extra, server)
async def add_client(self, socket): if not self.is_bound.done(): raise AssertionError("Server not running") limit = asyncio.streams._DEFAULT_LIMIT reader = asyncio.streams.StreamReader(limit=limit, loop=self.loop) protocol = asyncio.streams.StreamReaderProtocol(reader, loop=self.loop) transport = _SelectorSocketTransport(self.loop, socket, protocol) writer = asyncio.streams.StreamWriter(transport, protocol, reader, self.loop) await self.client_connected_cb(reader, writer)
def _make_socket_transport(self, sock, protocol, waiter=None, *, extra=None, server=None): return selector_events._SelectorSocketTransport(self, sock, protocol, waiter, extra, server)