# `Kombu.Transport.Virtual.Exchange`
[🔗](https://github.com/hacktobeer/kombu/blob/v0.1.0/lib/kombu/transport/virtual/exchange.ex#L1)

Virtual AMQ Exchange type implementations (`direct`, `topic`, `fanout`),
ported from `kombu.transport.virtual.exchange`.

# `equivalent?`

```elixir
@spec equivalent?(map(), String.t(), String.t(), boolean(), boolean(), map() | nil) ::
  boolean()
```

Checks if `prev` exchange metadata is equivalent to the new declaration parameters.

# `standard_exchange_types`

```elixir
@spec standard_exchange_types() :: %{required(String.t()) =&gt; module()}
```

Returns the map of standard exchange types (`"direct"`, `"topic"`, `"fanout"`).

# `type_module`

```elixir
@spec type_module(String.t() | nil) :: module()
```

Returns the exchange module for `type` (defaulting to `Direct`).

---

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