Windows: Use 32-bit distribution of python
This commit is contained in:
41
python/gevent/resolver/blocking.py
Normal file
41
python/gevent/resolver/blocking.py
Normal file
@@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2018 gevent contributors. See LICENSE for details.
|
||||
|
||||
import _socket
|
||||
|
||||
class Resolver(object):
|
||||
"""
|
||||
A resolver that directly uses the system's resolver functions.
|
||||
|
||||
.. caution::
|
||||
|
||||
This resolver is *not* cooperative.
|
||||
|
||||
This resolver has the lowest overhead of any resolver and
|
||||
typically approaches the speed of the unmodified :mod:`socket`
|
||||
functions. However, it is not cooperative, so if name resolution
|
||||
blocks, the entire thread and all its greenlets will be blocked.
|
||||
|
||||
This can be useful during debugging, or it may be a good choice if
|
||||
your operating system provides a good caching resolver (such as
|
||||
macOS's Directory Services) that is usually very fast and
|
||||
functionally non-blocking.
|
||||
|
||||
.. versionchanged:: 1.3a2
|
||||
This was previously undocumented and existed in :mod:`gevent.socket`.
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, hub=None):
|
||||
pass
|
||||
|
||||
def close(self):
|
||||
pass
|
||||
|
||||
for method in (
|
||||
'gethostbyname',
|
||||
'gethostbyname_ex',
|
||||
'getaddrinfo',
|
||||
'gethostbyaddr',
|
||||
'getnameinfo'
|
||||
):
|
||||
locals()[method] = staticmethod(getattr(_socket, method))
|
||||
Reference in New Issue
Block a user