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.