# Pulsar v3.0.0 - Table of Contents

> An Elixir client for Apache Pulsar.

## Pages

- [Elixir Client for Apache Pulsar](readme.md)

- Guides
  - [Architecture](architecture.md)
  - [Batching](batching.md)
  - [Chunking](chunking.md)
  - [Dead Letter Policies](dead_letter_policies.md)
  - [Schemas](schemas.md)
  - [Reader](reader.md)

## Modules

- [Pulsar](Pulsar.md): An Apache Pulsar client for Elixir.
- [Pulsar.Client](Pulsar.Client.md): A client represents an isolated Pulsar connection context and owns the consumers and
producers that use it.
- [Pulsar.Consumer](Pulsar.Consumer.md): A consumer subscribes to a topic and hands each message to a callback module.
- [Pulsar.Consumer.Callback](Pulsar.Consumer.Callback.md): Macro for creating Pulsar consumer callback modules that support internal state.
- [Pulsar.Message](Pulsar.Message.md): Represents a message received from a Pulsar topic.
- [Pulsar.Producer](Pulsar.Producer.md): A producer publishes messages to a topic.
- [Pulsar.Reader](Pulsar.Reader.md): A high-level interface for reading messages from Pulsar topics using
Elixir's Stream API. The reader uses non-durable subscriptions, meaning
it doesn't persist its position and starts fresh on each connection.
- [Pulsar.Reader.Callback](Pulsar.Reader.Callback.md): Internal callback module for Pulsar.Reader.
- [Pulsar.Schema](Pulsar.Schema.md): Schema definition for Pulsar messages.

