crux_gateway v0.1.0 Crux.Gateway.Connection.RateLimiter View Source
Handles Rate Limiting for the gateway.
This module is automatically used by Crux.Gateway.Connection
, you do not need to worry about it.
Link to this section Summary
Functions
Queues a packet. Blocks the calling process until the packet my be sent
Starts a rate limiter for a shard
Link to this section Functions
Link to this function
queue(packet, shard_id)
View Source
queue(packet :: term(), shard_id :: non_neg_integer()) :: term()
Queues a packet. Blocks the calling process until the packet my be sent.
The packets will return in the order as they arrive at the rate limiter, those are sent via GenServer.call/2
.
Returns the packet
as is.
Automatically invoked by using Crux.Gateway.Connection.send_command/2
Link to this function
start_link(shard_id)
View Source
start_link(shard_id :: non_neg_integer()) :: GenServer.on_start()
Starts a rate limiter for a shard.
This is automatically called when using Crux.Gateway.start/1
.