View Source esockd_generic_limiter behaviour (esockd v5.9.3-rc.1)

Link to this section Summary

Link to this section Types

-type consume_result() :: {ok, limiter()} | {pause, pause_time(), limiter()}.
-type create_options() :: #{module := atom(), atom() => term()}.
-type limiter() :: #{module := atom(), name := atom(), atom() => term()}.
-type pause_time() :: non_neg_integer().

Link to this section Callbacks

-callback consume(integer(), limiter()) -> consume_result().
-callback create(create_options()) -> limiter().
-callback delete(limiter()) -> ok.

Link to this section Functions