| 
  Request an object of given class, with given address and state not
worse than| request_object(self,
        object_class,
        address,
        state,
        object_handler,
        error_handler=None,
        timeout_handler=None,
        backup_state=None,
        timeout=None,
        freshness_period=None,
        expiration_period=None,
        purge_period=None)
   | source code |  state. The object will be taken from cache if available,
and created/fetched otherwise. The request is asynchronous -- this
metod doesn't return the object directly, but theobject_handleris
called as soon as the object is available (this may be before
request_object returns and may happen in other thread). On error theerror_handlerwill be called, and on timeout -- thetimeout_handler.
    Parameters:
        object_class(classobj) - class (type) of the object requested.address(any hashable) - address of the object requested.state("new", "fresh", "old" or "stale") - the worst acceptable object state. When 'new' then always
a new object will be created/fetched. 'stale' will select any
item available in cache.object_handler(callable(address, value, state)) - function to be called when object is available.
It will be called with the following arguments: address, object
and its state.error_handler(callable(address, error_data)) - function to be called on object retrieval error.
It will be called with two arguments: requested address and
additional error information (fetcher-specific, may be
StanzaError for XMPP objects).  If not given, then the object
handler will be called with object set toNoneand state
"error".timeout_handler(callable(address)) - function to be called on object retrieval
timeout.  It will be called with only one argument: the requested
address. If not given, then theerror_handlerwill be called
instead, with error details set toNone.backup_state("new", "fresh", "old" or "stale") - when set and object in statestateis not
available in the cache and object retrieval failed then object
with this state will also be looked-up in the cache and provided
if available.timeout(timedelta) - time interval after which retrieval of the object
should be given up.freshness_period(timedelta) - time interval after which the item created
should become 'old'.expiration_period(timedelta) - time interval after which the item created
should become 'stale'.purge_period(timedelta) - time interval after which the item created
shuld be removed from the cache. |