yggdrasil v3.3.0 API Reference

Modules

Yggdrasil is an immense mythical tree that connects the nine worlds in Norse cosmology

Channel struct definition

Supervisor for Yggdrasil.Distributor.Manager, Yggdrasil.Distributor.Adapter and Yggdrasil.Distributor.Publisher

Distributor backend to subscribe, unsubscribe and publish messages. Uses Phoenix.PubSub for message distribution

Supervisor to generate distributors on demand

Manages subscription to a channel

A server to distribute the messages

Publisher pool of processes

Yggdrasil publisher adapter for Elixir. The name of the channel can be any arbitrary term e.g

Yggdrasil publisher adapter for Postgres. The name of the channel must be a binary e.g

Yggdrasil publisher adapter for RabbitMQ. The name of the channel should be a tuple with the name of the exchange and the routing key. The exchange should be a topic (or any exhange that redirect to topic) e.g

Yggdrasil publisher adapter for Redis. The name of the channel must be a binary e.g

Generator of publisher pools

This module defines the available settings for Yggdrasil

Yggdrasil subscriber adapter for Elixir. The name of the channel can be any arbitrary term e.g

Yggdrasil subscriber adapter for Postgres. The name of the channel must be a binary e.g

Yggdrasil subscriber adapter for RabbitMQ. The name of the channel should be a tuple with the name of the exchange and the routing key. The exchange should be a topic (or any exchange that redirects to topic) e.g

This module defines a RabbitMQ connection handler. It does not connect until a process request a connection

Generator of RabbitMQ connection pools

This module defines a RabbitMQ connection pool identified by a namespace

Yggdrasil subscriber adapter for Redis. The name of the channel must be a binary e.g

Transformer behaviour. Defines how to decode and encode messages from a Yggdrasil.Channel

Default Yggdrasil transformer

JSON Yggdrasil transformer using the library Jason