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.