|
INET Framework for OMNeT++/OMNEST
|
#include <TokenBucket.h>
Public Member Functions | |
| TokenBucket () | |
| TokenBucket (double numTokens, double maxNumTokens, double tokenProductionRate, ITokenStorage *excessTokenStorage) | |
| virtual ITokenStorage * | getExcessTokenStorage () const |
| virtual double | getNumTokens () const override |
| virtual void | addTokens (double numTokens) override |
| virtual void | removeTokens (double numTokens) override |
| virtual void | addTokenProductionRate (double tokenRate) override |
| virtual void | removeTokenProductionRate (double tokenRate) override |
| virtual simtime_t | getOverflowTime () |
| Returns the simulation time when the token bucket becomes full with the current rate of token production. More... | |
Public Member Functions inherited from inet::queueing::ITokenStorage | |
| virtual | ~ITokenStorage () |
Protected Member Functions | |
| void | updateNumTokens () |
Protected Attributes | |
| double | numTokens = 0 |
| double | maxNumTokens = -1 |
| double | tokenProductionRate = 0 |
| double | excessTokenProductionRate = 0 |
| ITokenStorage * | excessTokenStorage = nullptr |
| simtime_t | lastUpdate |
| inet::queueing::TokenBucket::TokenBucket | ( | double | numTokens, |
| double | maxNumTokens, | ||
| double | tokenProductionRate, | ||
| ITokenStorage * | excessTokenStorage | ||
| ) |
|
overridevirtual |
Implements inet::queueing::ITokenStorage.
Referenced by inet::queueing::TokenBucketMixin< PacketClassifierBase >::addTokenProductionRate().
|
overridevirtual |
Implements inet::queueing::ITokenStorage.
Referenced by inet::queueing::TokenBucketMixin< PacketClassifierBase >::addTokens(), TokenBucket(), and updateNumTokens().
|
inlinevirtual |
|
overridevirtual |
Implements inet::queueing::ITokenStorage.
Referenced by inet::queueing::TokenBucketMixin< PacketClassifierBase >::addTokens(), inet::queueing::TokenBucketClassifier::classifyPacket(), inet::queueing::TokenBucketMixin< PacketClassifierBase >::getNumTokens(), getOverflowTime(), inet::queueing::TokenBucketMixin< PacketClassifierBase >::handleMessage(), inet::queueing::TokenBucketMeter::meterPacket(), inet::queueing::operator<<(), inet::queueing::TokenBucketMixin< PacketClassifierBase >::removeTokens(), and inet::queueing::TokenBucketMixin< PacketClassifierBase >::resolveDirective().
|
virtual |
Returns the simulation time when the token bucket becomes full with the current rate of token production.
Referenced by inet::queueing::TokenBucketMixin< PacketClassifierBase >::rescheduleOverflowTimer().
|
overridevirtual |
Implements inet::queueing::ITokenStorage.
Referenced by inet::queueing::TokenBucketMixin< PacketClassifierBase >::removeTokenProductionRate().
|
overridevirtual |
Implements inet::queueing::ITokenStorage.
Referenced by inet::queueing::TokenBucketClassifier::classifyPacket(), inet::queueing::TokenBucketMeter::meterPacket(), and inet::queueing::TokenBucketMixin< PacketClassifierBase >::removeTokens().
|
protected |
Referenced by getNumTokens().
|
protected |
Referenced by addTokenProductionRate(), addTokens(), removeTokenProductionRate(), and removeTokens().
|
protected |
Referenced by addTokenProductionRate(), addTokens(), removeTokenProductionRate(), and removeTokens().
|
protected |
Referenced by updateNumTokens().
|
protected |
Referenced by addTokenProductionRate(), addTokens(), getOverflowTime(), removeTokenProductionRate(), and removeTokens().
|
protected |
Referenced by addTokenProductionRate(), addTokens(), getNumTokens(), getOverflowTime(), removeTokenProductionRate(), removeTokens(), and TokenBucket().
|
protected |
Referenced by addTokenProductionRate(), addTokens(), getOverflowTime(), removeTokenProductionRate(), removeTokens(), and updateNumTokens().