aboutsummaryrefslogtreecommitdiffstats
path: root/python/gevent/resolver/blocking.py
diff options
context:
space:
mode:
authorJames Taylor <user234683@users.noreply.github.com>2018-09-14 19:32:27 -0700
committerJames Taylor <user234683@users.noreply.github.com>2018-09-14 19:32:27 -0700
commit4212164e91ba2f49583cf44ad623a29b36db8f77 (patch)
tree47aefe3c0162f03e0c823b43873356f69c1cd636 /python/gevent/resolver/blocking.py
parent6ca20ff7010f2bafc7fefcb8cad982be27a8aeae (diff)
downloadyt-local-4212164e91ba2f49583cf44ad623a29b36db8f77.tar.lz
yt-local-4212164e91ba2f49583cf44ad623a29b36db8f77.tar.xz
yt-local-4212164e91ba2f49583cf44ad623a29b36db8f77.zip
Windows: Use 32-bit distribution of python
Diffstat (limited to 'python/gevent/resolver/blocking.py')
-rw-r--r--python/gevent/resolver/blocking.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/python/gevent/resolver/blocking.py b/python/gevent/resolver/blocking.py
new file mode 100644
index 0000000..84cbd9c
--- /dev/null
+++ b/python/gevent/resolver/blocking.py
@@ -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))