diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-08-24 14:31:06 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2011-08-24 14:31:06 -0400 |
commit | bea8a04edba2a144d8b8eaef2ecd6298b527cca8 (patch) | |
tree | 4c02f7392f7e9ac683743fa4a36143814134dbde /dogpile | |
parent | b87ceb04101d9ed8d689ef90dcab36ee04cca53c (diff) | |
download | dogpile-core-bea8a04edba2a144d8b8eaef2ecd6298b527cca8.tar.gz |
some docstrings, setup, etc.
Diffstat (limited to 'dogpile')
-rw-r--r-- | dogpile/dogpile.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/dogpile/dogpile.py b/dogpile/dogpile.py index e8ea99f..7e48869 100644 --- a/dogpile/dogpile.py +++ b/dogpile/dogpile.py @@ -76,12 +76,23 @@ from readwrite_lock import ReadWriteMutex log = logging.getLogger(__name__) class Dogpile(object): + """Dogpile class. + + :param expiretime: Expiration time in seconds. + + """ def __init__(self, expiretime): self.dogpilelock = threading.Lock() self.expiretime = expiretime self.createdtime = -1 def acquire(self, creator): + """Acquire the lock, returning a context manager. + + :param creator: Creation function, used if this thread + is chosen to create a new value. + + """ dogpile = self class Lock(object): def __enter__(self): @@ -92,11 +103,13 @@ class Dogpile(object): @property def is_expired(self): + """Return true if the expiration time is reached.""" return not self.has_value or \ time.time() - self.createdtime > self.expiretime @property def has_value(self): + """Return true if the creation function has proceeded at least once.""" return self.createdtime > 0 def _enter(self, creator): |