Behaviour every dustlayer_ecto transport adapter implements. Two
implementations ship: DustEcto.Transport.SDK (recommended, uses
Phoenix Channels via :dustlayer) and DustEcto.Transport.HTTP
(Req-based, stateless, no realtime).
Repo functions never call adapters directly — they go through
DustEcto.Transport.pick/0 which returns the active adapter +
config based on dust_facade config and the SyncEngineRegistry.
Summary
Types
Callbacks
Functions
Picks the active transport at call time. Returns a {module, config}
tuple where config carries adapter-specific data the Repo passes
through (e.g. the SDK facade module name, or the HTTP base_url).
Detection order:
- Explicit
config :dustlayer_ecto, :dust_facade, MyApp.Dust— SDK mode. Dust.SyncEngineRegistryhas the configured store registered — SDK mode using the globalDustmodule.- Otherwise — HTTP mode.
This runs on every Repo call (cheap — one or two ETS lookups), so
the same Elixir node can attach a Dust.Supervisor later and the
transport picks it up without restart.
@spec store!() :: store()
The configured default store name for Repo calls. Required.