# `CommBus.Protocol.Validator`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

Validates assembled protocol packets before they are forwarded to downstream routers.

# `validate`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@spec validate(CommBus.Protocol.Packet.t()) :: :ok | {:error, term()}
```

Ensures a packet has well-formed messages, sections, and metadata.

# `validate!`
[🔗](https://github.com/fosferon/comm_bus/blob/v0.1.0/{path}#L{line})

```elixir
@spec validate!(CommBus.Protocol.Packet.t()) :: CommBus.Protocol.Packet.t()
```

Same as validate/1 but raises on failure.

---

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