diff options
author | Quentin Dawans <github@ovv.wtf> | 2017-10-30 13:43:02 (GMT) |
---|---|---|
committer | Yury Selivanov <yury@magic.io> | 2017-10-30 13:43:02 (GMT) |
commit | fe4ea9cf1ee04f5a60e4ed928d8624b95b031e18 (patch) | |
tree | a783b709a8856fdf34d540108e78803e6114c84b /Lib/asyncio | |
parent | a2314283ff87c65e1745a42c2f2b716b1a209128 (diff) | |
download | cpython-fe4ea9cf1ee04f5a60e4ed928d8624b95b031e18.zip cpython-fe4ea9cf1ee04f5a60e4ed928d8624b95b031e18.tar.gz cpython-fe4ea9cf1ee04f5a60e4ed928d8624b95b031e18.tar.bz2 |
bpo-31245: Asyncio unix socket datagram (#3164)
Diffstat (limited to 'Lib/asyncio')
-rw-r--r-- | Lib/asyncio/base_events.py | 6 | ||||
-rw-r--r-- | Lib/asyncio/events.py | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 33b8f48..2a5a4f9 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -859,6 +859,12 @@ class BaseEventLoop(events.AbstractEventLoop): if family == 0: raise ValueError('unexpected address family') addr_pairs_info = (((family, proto), (None, None)),) + elif hasattr(socket, 'AF_UNIX') and family == socket.AF_UNIX: + for addr in (local_addr, remote_addr): + if addr is not None and not isistance(addr, str): + raise TypeError('string is expected') + addr_pairs_info = (((family, proto), + (local_addr, remote_addr)), ) else: # join address by (family, protocol) addr_infos = collections.OrderedDict() diff --git a/Lib/asyncio/events.py b/Lib/asyncio/events.py index 0dbd92c..c2663c5 100644 --- a/Lib/asyncio/events.py +++ b/Lib/asyncio/events.py @@ -378,8 +378,8 @@ class AbstractEventLoop: protocol_factory must be a callable returning a protocol instance. - socket family AF_INET or socket.AF_INET6 depending on host (or - family if specified), socket type SOCK_DGRAM. + socket family AF_INET, socket.AF_INET6 or socket.AF_UNIX depending on + host (or family if specified), socket type SOCK_DGRAM. reuse_address tells the kernel to reuse a local socket in TIME_WAIT state, without waiting for its natural timeout to |