Signed-off-by: IWASE Yusuke <[email protected]>
---
ryu/lib/hub.py | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/ryu/lib/hub.py b/ryu/lib/hub.py
index a5ac50a..182fabf 100644
--- a/ryu/lib/hub.py
+++ b/ryu/lib/hub.py
@@ -17,6 +17,8 @@
import logging
import os
+import netaddr
+
# We don't bother to use cfg.py because monkey patch needs to be
# called very early. Instead, we use an environment variable to
@@ -110,11 +112,19 @@ if HUB_TYPE == 'eventlet':
assert backlog is None
assert spawn == 'default'
- if ':' in listen_info[0]:
+ if netaddr.valid_ipv4(listen_info[0]):
+ self.server = eventlet.listen(listen_info)
+ elif netaddr.valid_ipv6(listen_info[0]):
self.server = eventlet.listen(listen_info,
family=socket.AF_INET6)
+ elif os.path.isdir(os.path.dirname(listen_info[0])):
+ # Case for Unix domain socket
+ self.server = eventlet.listen(listen_info[0],
+ family=socket.AF_UNIX)
else:
- self.server = eventlet.listen(listen_info)
+ raise ValueError(
+ 'Invalid listen_info: %s' % str(listen_info))
+
if ssl_args:
def wrap_and_handle(sock, addr):
ssl_args.setdefault('server_side', True)
--
2.7.4
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel