if not conn.in_use:
await conn.close()
break
-
- log.debug('about to connect %s', host)
- reader, writer = await asyncio.wait_for(
- asyncio.open_connection(server, port),
- timeout
- )
+ if server[0] in ['/', '@']:
+ log.debug('about to connect unix socket %s', server)
+ reader, writer = await asyncio.wait_for(
+ asyncio.open_unix_connection(path=server),
+ timeout
+ )
+ else:
+ log.debug('about to connect tcp socket %s:%s', *host)
+ reader, writer = await asyncio.wait_for(
+ asyncio.open_connection(server, port),
+ timeout
+ )
#log.debug('Connected to %s:%s', host[0], host[1])
connection = Connection(self, host, reader, writer)
await connection._hello()
def __repr__(self):
host = f"{self._host[0]}:{self._host[1]}"
- return f"Connection<{host}>#{id(self)}"
+ return f"Connection<{host}>"
@property
def closed(self):
self.version = rcv.split('\n')[0][len(HELLO_PREFIX):]
log.info('protocol version: %s', self.version)
-
def __getattr__(self, name: str) -> Any:
"""All unknown attributes are delegated to the reader and writer"""
if self._closed or not self.in_use: