SkillKit.Webhook.Inbox.Memory (SkillKit v0.1.0)

Copy Markdown View Source

In-memory SkillKit.Webhook.Inbox implementation backed by an ETS table and a GenServer owner.

Suitable for dev, tests, and single-node deployments. Deliveries are lost on BEAM restart.

Config

Accepts the following options on start_link/1:

  • :name (required) — the registered name for the owning GenServer (also the inbox handle passed to callbacks)
  • :max_deliveries — per-agent LRU cap (default 500)
  • :ttl_ms — entries older than this are treated as :not_found (default 24h)
  • :default_limit_bytes — cap applied to read/4 results when the caller does not set :limit_bytes (default 4096)
  • :dispatch — controls whether/how put/2 notifies the agent after persisting. One of:
    • :immediate (default) — calls SkillKit.Webhook.Inbox.dispatch/1
    • :none — persist only, no notification
    • a 1-arity function fn entry -> :ok — invoked with the full entry (primarily for tests that need to intercept dispatch)

Summary

Functions

Returns a specification to start this module under a supervisor.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_link(opts)

@spec start_link(keyword()) :: GenServer.on_start()