Known subclasses: twisted.test.test_htb.SomeBucket

Implementation of a Token bucket.

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

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. (type: int)
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. (type: int)
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.
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. (type: int)
rate =
The rate at which the bucket drains, in number of tokens per second. If the rate is None, the bucket drains instantaneously. (type: int)
def __init__(self, parentBucket=None):

Create a Bucket that may have a parent Bucket.

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

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.

ParametersamountThe number of tokens to try to add. (type: int)
ReturnsThe number of tokens that actually fit. (type: int)
def drip(self):

Let some of the bucket drain.

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

ReturnsTrue if the bucket is empty after this drip. (type: bool)
API Documentation for twisted, generated by pydoctor at 2020-03-25 17:34:30.