PHP Класс Stiphle\Throttle\LeakyBucket

См. также: http://stackoverflow.com/questions/1375501/how-do-i-throttle-my-sites-api-users
Автор: Dave Marshall ([email protected])
Наследование: implements Stiphle\Throttle\ThrottleInterface
Показать файл Открыть проект

Защищенные свойства (Protected)

Свойство Тип Описание
$storage Stiphle\Storage\StorageInterface

Открытые методы

Метод Описание
__construct ( )
getEstimate ( string $key, integer $limit, integer $milliseconds ) : integer Get Estimate (doesn't require lock)
setStorage ( Stiphle\Storage\StorageInterface $storage ) : LeakyBucket Set Storage
throttle ( string $key, integer $limit, integer $milliseconds ) : void Throttle

Защищенные методы

Метод Описание
getLastRatio ( string $key ) : float Get Last Ratio
getLastRequest ( string $key ) : float Get Last Request
getNewRatio ( string $key, integer $limit, integer $milliseconds ) : float Get new ratio
getStorageKey ( string $key, integer $limit, integer $milliseconds ) : string Get storage key
setLastRatio ( string $key, float $ratio ) : void Set Last Ratio
setLastRequest ( string $key, float $request ) : void Set Last Request

Описание методов

__construct() публичный Метод

public __construct ( )

getEstimate() публичный Метод

How long would I have to wait to make a request?
public getEstimate ( string $key, integer $limit, integer $milliseconds ) : integer
$key string - A unique key for what we're throttling
$limit integer - How many are allowed
$milliseconds integer - In this many milliseconds
Результат integer - the number of milliseconds before this request should be allowed to pass

getLastRatio() защищенный Метод

Get Last Ratio
protected getLastRatio ( string $key ) : float
$key string
Результат float

getLastRequest() защищенный Метод

Get Last Request
protected getLastRequest ( string $key ) : float
$key string
Результат float

getNewRatio() защищенный Метод

Assuming we're making a request, get the ratio of requests made to requests allowed
protected getNewRatio ( string $key, integer $limit, integer $milliseconds ) : float
$key string - A unique key for what we're throttling
$limit integer - How many are allowed
$milliseconds integer - In this many milliseconds
Результат float

getStorageKey() защищенный Метод

Get storage key
protected getStorageKey ( string $key, integer $limit, integer $milliseconds ) : string
$key string - A unique key for what we're throttling
$limit integer - How many are allowed
$milliseconds integer - In this many milliseconds
Результат string

setLastRatio() защищенный Метод

Set Last Ratio
protected setLastRatio ( string $key, float $ratio ) : void
$key string
$ratio float
Результат void

setLastRequest() защищенный Метод

Set Last Request
protected setLastRequest ( string $key, float $request ) : void
$key string
$request float
Результат void

setStorage() публичный Метод

Set Storage
public setStorage ( Stiphle\Storage\StorageInterface $storage ) : LeakyBucket
$storage Stiphle\Storage\StorageInterface
Результат LeakyBucket

throttle() публичный Метод

Throttle
public throttle ( string $key, integer $limit, integer $milliseconds ) : void
$key string - A unique key for what we're throttling
$limit integer - How many are allowed
$milliseconds integer - In this many milliseconds
Результат void

Описание свойств

$storage защищенное свойство

protected StorageInterface,Stiphle\Storage $storage
Результат Stiphle\Storage\StorageInterface