add experimental support for Windows
3 files changed, 12 insertions(+), 4 deletions(-)

M setup.py
M wormhole/proxy.py
M wormhole/server.py
M setup.py +4 -1
@@ 21,7 21,6 @@ setup(
     description='Asynchronous I/O HTTP and HTTPS Proxy on Python 3.5',
     long_description=readme(),
     keywords='wormhole asynchronous web proxy',
-    platforms='POSIX',
     classifiers=[
         'Development Status :: 5 - Production/Stable',
         'Environment :: Console',

          
@@ 29,10 28,14 @@ setup(
         'Intended Audience :: System Administrators',
         'License :: OSI Approved :: MIT License',
         'Operating System :: POSIX',
+        'Operating System :: Microsoft :: Windows',
         'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: Implementation :: CPython',
         'Topic :: Internet :: Proxy Servers',
     ],
+    install_requires=[
+        'pywin32;platform_system=="Windows"',
+    ],
     packages=['wormhole'],
     include_package_data=True,
     entry_points={'console_scripts': ['wormhole = wormhole.proxy:main']},

          
M wormhole/proxy.py +1 -1
@@ 1,6 1,6 @@ 
 #!/usr/bin/env python3
 
-VERSION = "v2.0.2"
+VERSION = "v2.0.3"
 
 import sys
 if sys.version_info < (3, 5):

          
M wormhole/server.py +7 -2
@@ 1,6 1,6 @@ 
 import asyncio
 import functools
-import resource
+import sys
 from time import time
 from wormhole.authentication import get_ident
 from wormhole.authentication import verify

          
@@ 11,7 11,12 @@ from wormhole.logger import get_logger
 
 
 MAX_RETRY = 3
-MAX_TASKS = resource.getrlimit(resource.RLIMIT_NOFILE)[0]
+if sys.platform == 'win32':
+    import win32file
+    MAX_TASKS = win32file._getmaxstdio()
+else:
+    import resource
+    MAX_TASKS = resource.getrlimit(resource.RLIMIT_NOFILE)[0]
 
 
 wormhole_semaphore = None