# malla v0.0.1-rc.2 - Table of Contents

Framework for developing distributed services in Elixir networks.

## Pages

- [Overview](readme.md)
- [Changelog](changelog.md)
- [License](license.md)
- [Glossary](00-glossary.md)
- [Introduction](introduction.md)
- [Quick Start](02-quick-start.md)
- [Getting Started Tutorial](getting_started.md)
- [Distributed Services Tutorial](distributed_tutorial.md)
- [Distributed Tutorial — Storage Node](distributed_storage.md)
- [Distributed Tutorial — Client Node](distributed_client.md)
- [Services](03-services.md)
- [Plugins](04-plugins.md)
- [Callbacks](05-callbacks.md)
- [Service Lifecycle](06-lifecycle.md)
- [Configuration](07-configuration.md)
- [Reconfiguration](07a-reconfiguration.md)
- [Storage and State](10-storage.md)
- [Cluster Setup](01-cluster-setup.md)
- [Service Discovery](02-service-discovery.md)
- [Remote Calls](03-remote-calls.md)
- [Request Handling](04-request-handling.md)
- [Tracing](01-tracing.md)
- [Status Handling](02-status-handling.md)
- [Testing](12-testing.md)
- [Plugin Development](13-plugin-development.md)
- [Troubleshooting](14-troubleshooting.md)
- [Deployment](15-deployment.md)

## Modules

- Core
  - [Malla](Malla.md): `Malla` is a comprehensive framework that simplifies the development of distributed
services through a plugin-based architecture with compile-time callback chaining,
automatic service discovery across nodes, and minimal "magic" to keep systems
understandable.
  - [Malla.Plugin](Malla.Plugin.md): Defines the core behavior for a Malla plugins.
  - [Malla.Plugins.Base](Malla.Plugins.Base.md): The base plugin that all services include by default.
  - [Malla.Service](Malla.Service.md): Defines the core behavior for a Malla service.
  - [Malla.Service.Interface](Malla.Service.Interface.md): Behaviour defining the public interface for Malla services.

- Distributed
  - [Malla.Cluster](Malla.Cluster.md): Provides utilities to connect Erlang nodes in a cluster.
  - [Malla.Node](Malla.Node.md): Manages distributed Malla services across a cluster of nodes.

- Runtime
  - [Malla.Config](Malla.Config.md): A simple ETS-based key-value store for node-wide configuration.
  - [Malla.Registry](Malla.Registry.md): Provides process registration utilities.

- Plugins
  - [Malla.Plugins.Request](Malla.Plugins.Request.md): Server-side plugin for handling incoming requests via the Malla request protocol.
  - [Malla.Plugins.Status](Malla.Plugins.Status.md): Plugin that provides status and error response management with extensible callbacks.
  - [Malla.Plugins.Tracer](Malla.Plugins.Tracer.md): Plugin that provides observability callbacks for Malla services.
  - [Malla.Request](Malla.Request.md): Client-side API for making structured requests to remote services.
  - [Malla.Status](Malla.Status.md): Provides core utilities for standardizing status and error responses.
  - [Malla.Tracer](Malla.Tracer.md): Provides a zero-overhead observability API for Malla services.

- Exceptions
  - [Malla.Request.ReqError](Malla.Request.ReqError.md)
  - [Malla.ServiceIdMissing](Malla.ServiceIdMissing.md)

