BigBrotherBot v1.8.0
System Development Information for the BigBrotherBot project.

b3::lib::beaker::container::NamespaceManager Class Reference

Inheritance diagram for b3::lib::beaker::container::NamespaceManager:
b3::lib::beaker::container::AbstractDictionaryNSManager b3::lib::beaker::container::OpenResourceNamespaceManager b3::lib::beaker::ext::memcached::MemcachedNamespaceManager b3::lib::beaker::container::MemoryNamespaceManager b3::lib::beaker::container::DBMNamespaceManager b3::lib::beaker::container::FileNamespaceManager b3::lib::beaker::ext::database::DatabaseNamespaceManager b3::lib::beaker::ext::google::GoogleNamespaceManager b3::lib::beaker::ext::sqla::SqlaNamespaceManager

List of all members.

Public Member Functions

def __init__
def get_creation_lock
def do_remove
def acquire_read_lock
def release_read_lock
def acquire_write_lock
def release_write_lock
def has_key
def __getitem__
def __setitem__
def set_value
def __contains__
def __delitem__
def keys
def remove

Public Attributes

 namespace

Private Member Functions

def _init_dependencies

Detailed Description

Handles dictionary operations and locking for a namespace of
values.

The implementation for setting and retrieving the namespace data is
handled by subclasses.

NamespaceManager may be used alone, or may be privately accessed by
one or more Container objects.  Container objects provide per-key
services like expiration times and automatic recreation of values.

Multiple NamespaceManagers created with a particular name will all
share access to the same underlying datasource and will attempt to
synchronize against a common mutex object.  The scope of this
sharing may be within a single process or across multiple
processes, depending on the type of NamespaceManager used.

The NamespaceManager itself is generally threadsafe, except in the
case of the DBMNamespaceManager in conjunction with the gdbm dbm
implementation.


Constructor & Destructor Documentation

def b3::lib::beaker::container::NamespaceManager::__init__ (   self,
  namespace 
)

Member Function Documentation

def b3::lib::beaker::container::NamespaceManager::acquire_read_lock (   self)
def b3::lib::beaker::container::NamespaceManager::acquire_write_lock (   self,
  wait = True 
)
def b3::lib::beaker::container::NamespaceManager::has_key (   self,
  key 
)
def b3::lib::beaker::container::NamespaceManager::release_read_lock (   self)
def b3::lib::beaker::container::NamespaceManager::release_write_lock (   self)
def b3::lib::beaker::container::NamespaceManager::remove (   self)
def b3::lib::beaker::container::NamespaceManager::set_value (   self,
  key,
  value,
  expiretime = None 
)
Optional set_value() method called by Value.

Allows an expiretime to be passed, for namespace
implementations which can prune their collections
using expiretime.

Reimplemented in b3::lib::beaker::ext::memcached::MemcachedNamespaceManager.


Member Data Documentation


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Properties