# `ASM.Extensions.PubSub.PipelinePlug`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/extensions/pub_sub/pipeline_plug.ex#L1)

Non-blocking pipeline plug that forwards events to an async PubSub broadcaster.

Options:
- `:broadcaster` (required): broadcaster pid from `ASM.Extensions.PubSub.start_broadcaster/1`
- `:publish_opts` (optional): topic/payload overrides for this plug call
- `:on_failure` (optional): `:drop` (default) or `:halt`

# `on_failure`

```elixir
@type on_failure() :: :drop | :halt
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
