Wrench\Listener\RateLimiter¶
-
class
RateLimiter¶ -
property
server¶ protected Server
The server being limited
-
property
ips¶ protected array<int>
Connection counts per IP address
-
property
requests¶ protected array<array<int>>
Request tokens per IP address
-
property
options¶ protected array
-
property
protocol¶ protected Protocol
-
__construct($options = array())¶ Constructor
Parameters: - $options (array) –
-
configure($options)¶ Parameters: - $options (array) –
-
onSocketConnect($socket, $connection)¶ Event listener
Parameters: - $socket (resource) –
- $connection (Connection) –
-
onSocketDisconnect($socket, $connection)¶ Event listener
Parameters: - $socket (resource) –
- $connection (Connection) –
-
onClientData($socket, $connection)¶ Event listener
Parameters: - $socket (resource) –
- $connection (Connection) –
-
checkConnections($connection)¶ Idempotent
Parameters: - $connection (Connection) –
-
checkConnectionsPerIp($connection)¶ NOT idempotent, call once per connection
Parameters: - $connection (Connection) –
-
releaseConnection($connection)¶ NOT idempotent, call once per disconnection
Parameters: - $connection (Connection) –
-
checkRequestsPerMinute($connection)¶ NOT idempotent, call once per data
Parameters: - $connection (Connection) –
-
limit($connection, $limit)¶ Limits the given connection
Parameters: - $connection (Connection) –
- $limit (string) – Reason
-
log($message, $priority = 'info')¶ Logger
Parameters: - $message (string) –
- $priority (string) –
-
configureProtocol()¶ Configures the protocol option
-
property