# phoenix_session_process v1.0.1 - Table of Contents

> Phoenix.SessionProcess creates a dedicated process for each user session in Phoenix applications.

This library provides session isolation, state management, and automatic cleanup with TTL support.
Each user session runs in its own GenServer process, enabling real-time session state
without external dependencies like Redis or databases.

Key features:
- Session isolation with dedicated GenServer processes
- Automatic cleanup with configurable TTL
- LiveView integration for reactive UIs
- Redux-style state management with subscriptions and selectors
- Real-time state change notifications
- High performance (10,000+ sessions/second)
- Built-in telemetry and monitoring

## Pages

- Guides
  - [Phoenix.SessionProcess](readme.md)

- Reference
  - [Changelog](changelog.md)
  - [LICENSE](license.md)

## Modules

- [Phoenix.SessionProcess.Action](Phoenix.SessionProcess.Action.md): Internal action structure for fast pattern matching.
- [Phoenix.SessionProcess.ActionRateLimiter](Phoenix.SessionProcess.ActionRateLimiter.md): Rate limiting for Redux actions via throttle and debounce.
- [Phoenix.SessionProcess.ActivityTracker](Phoenix.SessionProcess.ActivityTracker.md): Tracks session activity timestamps for TTL-based cleanup.
- [Phoenix.SessionProcess.Logger](Phoenix.SessionProcess.Logger.md): Default telemetry event logger for Phoenix.SessionProcess.
- [Phoenix.SessionProcess.RateLimiter](Phoenix.SessionProcess.RateLimiter.md): Rate limiter for session creation using sliding window algorithm.
- [Phoenix.SessionProcess.ReducerCompiler](Phoenix.SessionProcess.ReducerCompiler.md): Compile-time support for reducer modules.

- Core API
  - [Phoenix.SessionProcess](Phoenix.SessionProcess.md): Main API for managing isolated session processes in Phoenix applications.
  - [Phoenix.SessionProcess.SessionId](Phoenix.SessionProcess.SessionId.md): A Phoenix plug that generates and manages unique session IDs.

- Behaviours
  - [Phoenix.SessionProcess.ProcessBehaviour](Phoenix.SessionProcess.ProcessBehaviour.md): Defines the behaviour for session processes in Phoenix.SessionProcess.
  - [Phoenix.SessionProcess.ReducerBehaviour](Phoenix.SessionProcess.ReducerBehaviour.md): Defines the behaviour for reducers in Phoenix.SessionProcess.

- Configuration
  - [Phoenix.SessionProcess.Config](Phoenix.SessionProcess.Config.md): Configuration management for Phoenix.SessionProcess.

- Error Handling
  - [Phoenix.SessionProcess.Error](Phoenix.SessionProcess.Error.md): Comprehensive error handling for Phoenix.SessionProcess operations.

- Internals
  - [Phoenix.SessionProcess.Cleanup](Phoenix.SessionProcess.Cleanup.md): Automatic session cleanup process with TTL (Time-To-Live) support.
  - [Phoenix.SessionProcess.DefaultSessionProcess](Phoenix.SessionProcess.DefaultSessionProcess.md): Default session process implementation providing basic key-value storage.
  - [Phoenix.SessionProcess.ProcessSupervisor](Phoenix.SessionProcess.ProcessSupervisor.md): Dynamic supervisor for managing individual session processes.
  - [Phoenix.SessionProcess.Supervisor](Phoenix.SessionProcess.Supervisor.md): Top-level supervisor for the Phoenix.SessionProcess system.

- Utilities
  - [Phoenix.SessionProcess.Helpers](Phoenix.SessionProcess.Helpers.md): Helper functions for common session management tasks.
  - [Phoenix.SessionProcess.Telemetry](Phoenix.SessionProcess.Telemetry.md): Telemetry events for Phoenix.SessionProcess.

