class documentation

class Bucket: (source)

Constructor: Bucket(parentBucket)

View In Hierarchy

Implementation of a Token bucket.

A bucket can hold a certain number of tokens and it drains over time.

Method __init__ Create a Bucket that may have a parent Bucket.
Method add Adds tokens to the Bucket and its parentBucket.
Method drip Let some of the bucket drain.
Class Variable maxburst The maximum number of tokens that the bucket can hold at any given time. If this is None, the bucket has an infinite size.
Class Variable rate The rate at which the bucket drains, in number of tokens per second. If the rate is None, the bucket drains instantaneously.
Instance Variable content Undocumented
Instance Variable lastDrip Undocumented
Instance Variable parentBucket Undocumented
Class Variable _refcount Undocumented
def __init__(self, parentBucket=None): (source)

Create a Bucket that may have a parent Bucket.

Parameters
parentBucket:BucketIf a parent Bucket is specified, all add and drip operations on this Bucket will be applied on the parent Bucket as well.
def add(self, amount): (source)

Adds tokens to the Bucket and its parentBucket.

This will add as many of the amount tokens as will fit into both this Bucket and its parentBucket.

Parameters
amount:intThe number of tokens to try to add.
Returns
intThe number of tokens that actually fit.
def drip(self): (source)

Let some of the bucket drain.

The Bucket drains at the rate specified by the class variable rate.

Returns
boolTrue if the bucket is empty after this drip.
maxburst: int = (source)

The maximum number of tokens that the bucket can hold at any given time. If this is None, the bucket has an infinite size.

rate: int = (source)

The rate at which the bucket drains, in number of tokens per second. If the rate is None, the bucket drains instantaneously.

Undocumented

lastDrip = (source)

Undocumented

parentBucket = (source)

Undocumented

_refcount: int = (source)

Undocumented