aboutsummaryrefslogtreecommitdiffstats
path: root/python/gevent/__ident.pxd
diff options
context:
space:
mode:
Diffstat (limited to 'python/gevent/__ident.pxd')
-rw-r--r--python/gevent/__ident.pxd26
1 files changed, 26 insertions, 0 deletions
diff --git a/python/gevent/__ident.pxd b/python/gevent/__ident.pxd
new file mode 100644
index 0000000..55e4307
--- /dev/null
+++ b/python/gevent/__ident.pxd
@@ -0,0 +1,26 @@
+cimport cython
+
+cdef extern from "Python.h":
+
+ ctypedef class weakref.ref [object PyWeakReference]:
+ pass
+
+cdef heappop
+cdef heappush
+cdef object WeakKeyDictionary
+cdef type ref
+
+@cython.internal
+@cython.final
+cdef class ValuedWeakRef(ref):
+ cdef object value
+
+@cython.final
+cdef class IdentRegistry:
+ cdef object _registry
+ cdef list _available_idents
+
+ @cython.final
+ cpdef object get_ident(self, obj)
+ @cython.final
+ cpdef _return_ident(self, ValuedWeakRef ref)