View Source Nostrum.Store.RatelimitBucket.Mnesia (Nostrum v0.8.0)
Stores ratelimit buckets using Mnesia.
Please note that this module is only compiled if Mnesia is available on your system. See the Mnesia section of the State documentation for more information.
To retrieve the table name used by this cache, use table/0
.
Link to this section Summary
Functions
Returns a specification to start this module under a supervisor.
Clean up bucket entries older than age
milliseconds.
Set up the store's Mnesia table.
Look up the most relevant ratelimiter bucket for the given route.
Start the supervisor.
Retrieve the Mnesia table name used for the store.
Drop the table used for the store.
Update an existing routes remaining calls.
Set up a new ratelimiter bucket from the given arguments.
Link to this section Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
@spec cleanup(pos_integer()) :: non_neg_integer()
Clean up bucket entries older than age
milliseconds.
Set up the store's Mnesia table.
@spec lookup(Nostrum.Store.RatelimitBucket.route()) :: Nostrum.Store.RatelimitBucket.bucket() | nil
Look up the most relevant ratelimiter bucket for the given route.
Start the supervisor.
@spec table() :: atom()
Retrieve the Mnesia table name used for the store.
@spec teardown() :: {:atomic, :ok} | {:aborted, term()}
Drop the table used for the store.
@spec update( Nostrum.Store.RatelimitBucket.route(), Nostrum.Store.RatelimitBucket.remaining() ) :: :ok
Update an existing routes remaining calls.
@spec update( Nostrum.Store.RatelimitBucket.route(), Nostrum.Store.RatelimitBucket.remaining(), Nostrum.Store.RatelimitBucket.reset_time(), Nostrum.Store.RatelimitBucket.latency() ) :: :ok
Set up a new ratelimiter bucket from the given arguments.