Package pyxmpp :: Module cache :: Class CacheItem
[show private | hide private]
[frames | no frames]

Type CacheItem

object --+
         |
        CacheItem


An item in a cache.

:Ivariables:
    - `value`: item value (cached object).
    - `address`: item address.
    - `state`: current state.
    - `state_value`: numerical value of the current state (lower number means
      fresher item).
    - `timestamp`: time when the object was created.
    - `freshness_time`: time when the object stops being fresh.
    - `expire_time`: time when the object expires.
    - `purge_time`: time when the object should be purged. When 0 then
      item will never be automaticaly purged.
    - `_lock`: lock for thread safety.
:Types:
    - `value`: `instance`
    - `address`: any hashable
    - `state`: `str`
    - `state_value`: `int`
    - `timestamp`: `datetime`
    - `freshness_time`: `datetime`
    - `expire_time`: `datetime`
    - `purge_time`: `datetime`
    - `_lock`: `threading.RLock`

Method Summary
  __init__(self, address, value, freshness_period, expiration_period, purge_period, state)
Initialize an CacheItem object.
  __cmp__(self, other)
  update_state(self)
Update current status of the item and compute time of the next state change.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
x.__str__() <==> str(x)

Class Variable Summary
list __slots__ = ['value', 'address', 'state', 'timestamp', '...
member_descriptor address = <member 'address' of 'CacheItem' objects>
member_descriptor expire_time = <member 'expire_time' of 'CacheItem' objec...
member_descriptor freshness_time = <member 'freshness_time' of 'CacheItem'...
member_descriptor purge_time = <member 'purge_time' of 'CacheItem' objects...
member_descriptor state = <member 'state' of 'CacheItem' objects>
member_descriptor state_value = <member 'state_value' of 'CacheItem' objec...
member_descriptor timestamp = <member 'timestamp' of 'CacheItem' objects>
member_descriptor value = <member 'value' of 'CacheItem' objects>
member_descriptor _lock = <member '_lock' of 'CacheItem' objects>

Method Details

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

Initialize an CacheItem object.

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

update_state(self)

Update current status of the item and compute time of the next
state change.

:return: the new state.
:returntype: `datetime`

Class Variable Details

__slots__

Type:
list
Value:
['value',
 'address',
 'state',
 'timestamp',
 'freshness_time',
 'expire_time',
 'purge_time',
 'state_value',
...                                                                    

address

Type:
member_descriptor
Value:
<member 'address' of 'CacheItem' objects>                              

expire_time

Type:
member_descriptor
Value:
<member 'expire_time' of 'CacheItem' objects>                          

freshness_time

Type:
member_descriptor
Value:
<member 'freshness_time' of 'CacheItem' objects>                       

purge_time

Type:
member_descriptor
Value:
<member 'purge_time' of 'CacheItem' objects>                           

state

Type:
member_descriptor
Value:
<member 'state' of 'CacheItem' objects>                                

state_value

Type:
member_descriptor
Value:
<member 'state_value' of 'CacheItem' objects>                          

timestamp

Type:
member_descriptor
Value:
<member 'timestamp' of 'CacheItem' objects>                            

value

Type:
member_descriptor
Value:
<member 'value' of 'CacheItem' objects>                                

_lock

Type:
member_descriptor
Value:
<member '_lock' of 'CacheItem' objects>                                

Generated by Epydoc 2.1 on Wed May 31 22:36:58 2006 http://epydoc.sf.net