Package pyxmpp :: Module cache :: Class CacheItem
[hide private]

Class CacheItem

source code

object --+
         |
        CacheItem

An item in a cache.
Instance Methods [hide private]
 
__init__(self, address, value, freshness_period, expiration_period, purge_period, state='new')
Initialize an CacheItem object.
source code
datetime
update_state(self)
Update current status of the item and compute time of the next state change.
source code
 
__cmp__(self, other) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Instance Variables [hide private]
: threading.RLock _lock
: lock for thread safety.
: any hashable address
: item address.
: datetime expire_time
: time when the object expires.
: datetime freshness_time
: time when the object stops being fresh.
: datetime purge_time
: time when the object should be purged.
: str state
: current state.
: int state_value
: numerical value of the current state (lower number means fresher item).
: datetime timestamp
: time when the object was created.
: instance value
: item value (cached object).
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, address, value, freshness_period, expiration_period, purge_period, state='new')
(Constructor)

source code 
Initialize an CacheItem object.
Parameters:
  • address (: any hashable) - : item address.
  • value (: instance) - : item value (cached object).
  • freshness_period (: timedelta) - : time interval after which the object stops being fresh.
  • expiration_period (: timedelta) - : time interval after which the object expires.
  • purge_period (: timedelta) - : time interval after which the object should be purged. When 0 then item will never be automaticaly purged.
  • state (: str) - : initial state.
Overrides: object.__init__

update_state(self)

source code 
Update current status of the item and compute time of the next state change.
Returns: datetime
the new state.

Instance Variable Details [hide private]

purge_time

: time when the object should be purged. When 0 then item will never be automaticaly purged.