X-Git-Url: https://git.distorted.org.uk/~mdw/mLib-python/blobdiff_plain/5b1830f325c55c70d65fd020f08dd958493e528d..HEAD:/bres.pyx diff --git a/bres.pyx b/bres.pyx index cd2d16c..8097855 100644 --- a/bres.pyx +++ b/bres.pyx @@ -24,6 +24,7 @@ ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. cdef class SelResolve: + """Abstract superclass for background name resolution.""" cdef bres_client r cdef int _activep cdef _resolved @@ -35,9 +36,11 @@ cdef class SelResolve: me._dead() bres_abort(&me.r) property activep: + """BR.activep: is lookup still waiting?""" def __get__(me): return _tobool(me._activep) def kill(me): + """BR.kill(): cancel in-progress lookup""" if not me._activep: raise ValueError, 'already dead' me._dead() @@ -47,8 +50,10 @@ cdef class SelResolve: me._activep = 0 me.dead() def dead(me): + """BR.dead(): called when lookup completes or is cancelled""" pass property resolvedproc: + """BR.resolvedproc -> FUNC: call FUNC(NAME, ALIASES, ADDRS) when ok""" def __get__(me): return me._resolved def __set__(me, proc): @@ -56,6 +61,7 @@ cdef class SelResolve: def __del__(me): me._resolved = None property failedproc: + """BR.failedproc -> FUNC: call FUNC() when lookup fails""" def __get__(me): return me._failed def __set__(me, proc): @@ -63,11 +69,21 @@ cdef class SelResolve: def __del__(me): me._failed = None def resolved(me, name, aliases, addrs): + """BR.resolved(NAME, ALIASES, ADDRS): called when lookup completes""" return _maybecall(me._resolved, (name, aliases, addrs)) def failed(me): + """BR.failed(): called when lookup fails""" return _maybecall(me._failed, ()) cdef class SelResolveByName (SelResolve): + """ + Resolve a hostname to an IP address, asynchronously. + + SelResolveByName(NAME, [resolvedproc = None], [failedproc = None]) + + Calls RESOLVEDPROC(NAME, ALIASES, ADDRS) on success, or FAILEDPROC() on + failure. + """ def __cinit__(me, char *name, resolvedproc = None, failedproc = None, *hunoz, **hukairz): me._resolved = _checkcallable(resolvedproc, 'resolved proc') @@ -78,6 +94,14 @@ cdef class SelResolveByName (SelResolve): pass cdef class SelResolveByAddr (SelResolve): + """ + Resolve an IPv4 address to a hostname, asynchronously. + + SelResolveByAddr(ADDR, [resolvedproc = None], [failedproc = None]) + + Calls RESOLVEDPROC(NAME, ALIASES, ADDRS) on success, or FAILEDPROC() on + failure. + """ def __cinit__(me, char *addr, resolvedproc = None, failedproc = None, *hunoz, **hukairz): cdef in_addr ia