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.