View Source Nostrum.Store.RatelimitBucket.ETS (Nostrum v0.8.0)

Stores ratelimit buckets via :ets.

If programmatic access to the ETS table is needed, please use the table/0 function.

Please do not use this module directly, apart from special functions such as table/0. Use Nostrum.Store.RatelimitBucket to call the configured mapping instead.

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 ETS table.

Look up the most relevant ratelimiter bucket for the given route.

Start the supervisor.

Retrieve the ETS table reference 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

Link to this function

child_spec(init_arg)

View Source (since 0.8.0)

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

cleanup(age)

View Source (since 0.8.0)
@spec cleanup(pos_integer()) :: non_neg_integer()

Clean up bucket entries older than age milliseconds.

Link to this function

init(init_arg)

View Source (since 0.8.0)

Set up the store's ETS table.

Link to this function

lookup(route)

View Source (since 0.8.0)

Look up the most relevant ratelimiter bucket for the given route.

Link to this function

start_link(init_arg)

View Source (since 0.8.0)

Start the supervisor.

@spec table() :: :ets.table()

Retrieve the ETS table reference used for the store.

Link to this function

update(route, remaining)

View Source (since 0.8.0)

Update an existing routes remaining calls.

Link to this function

update(route, remaining, reset_time, latency)

View Source (since 0.8.0)

Set up a new ratelimiter bucket from the given arguments.