# ZenWebsocket v0.3.1 - Table of Contents ## Pages - Getting Started - [ZenWebsocket](readme.md) - [Changelog](changelog.md) - [ZenWebsocket Usage Rules](usage_rules.md) - [ZenWebsocket Agent Guide](agents.md) - [ZenWebsocket Examples](examples.md) - Guides - [Building Exchange Adapters Guide](building_adapters.md) - [Performance Tuning Guide](performance_tuning.md) - [Troubleshooting Reconnection Guide](troubleshooting_reconnection.md) - Architecture - [ZenWebsocket Architecture](architecture.md) - [Reconnection Architecture Guide](reconnection.md) - [Gun Integration Guide](gun_integration.md) - [ZenWebsocket Supervision Strategy](supervision_strategy.md) - Testing - [ZenWebsocket Stability Testing Guide](stability_testing.md) ## Modules - [ZenWebsocket](ZenWebsocket.md): ZenWebsocket is a robust WebSocket client library for Elixir with a pluggable adapter architecture. - [ZenWebsocket.Client](ZenWebsocket.Client.md): WebSocket client GenServer using Gun as transport layer. - [ZenWebsocket.ClientSupervisor](ZenWebsocket.ClientSupervisor.md): Optional supervisor for WebSocket client connections. - [ZenWebsocket.Config](ZenWebsocket.Config.md): Configuration struct for WebSocket connections. - [ZenWebsocket.ConnectionRegistry](ZenWebsocket.ConnectionRegistry.md): ETS-based connection tracking without GenServer. - [ZenWebsocket.Debug](ZenWebsocket.Debug.md): Conditional debug logging for ZenWebsocket. - [ZenWebsocket.ErrorHandler](ZenWebsocket.ErrorHandler.md): Simple error handling for WebSocket connections. - [ZenWebsocket.Examples.AdapterSupervisor](ZenWebsocket.Examples.AdapterSupervisor.md): Supervisor for WebSocket adapters with fault tolerance. - [ZenWebsocket.Examples.BatchSubscriptionManager](ZenWebsocket.Examples.BatchSubscriptionManager.md): Simple batch subscription manager for efficiently subscribing to multiple channels. - [ZenWebsocket.Examples.DeribitAdapter](ZenWebsocket.Examples.DeribitAdapter.md): Simplified Deribit WebSocket API adapter. - [ZenWebsocket.Examples.DeribitGenServerAdapter](ZenWebsocket.Examples.DeribitGenServerAdapter.md): Production-ready supervised Deribit adapter with automatic reconnection. - [ZenWebsocket.Examples.DeribitRpc](ZenWebsocket.Examples.DeribitRpc.md): Shared Deribit JSON-RPC method definitions and request builders. - [ZenWebsocket.Examples.Docs.BasicUsage](ZenWebsocket.Examples.Docs.BasicUsage.md): Basic usage examples from the documentation. These examples demonstrate simple WebSocket connections and message handling. - [ZenWebsocket.Examples.Docs.ErrorHandling](ZenWebsocket.Examples.Docs.ErrorHandling.md): Error handling and retry patterns from Examples.md - [ZenWebsocket.Examples.Docs.JsonRpcClient](ZenWebsocket.Examples.Docs.JsonRpcClient.md): JSON-RPC client example from documentation. - [ZenWebsocket.Examples.Docs.SubscriptionManagement](ZenWebsocket.Examples.Docs.SubscriptionManagement.md): Examples of subscription management with WebSocket connections. - [ZenWebsocket.Examples.PlatformAdapterTemplate](ZenWebsocket.Examples.PlatformAdapterTemplate.md): Minimal template for creating platform-specific WebSocket adapters. - [ZenWebsocket.Examples.SupervisedClient](ZenWebsocket.Examples.SupervisedClient.md): Basic WebSocket client supervision example. - [ZenWebsocket.Examples.UsagePatterns](ZenWebsocket.Examples.UsagePatterns.md): Examples of different WebSocket client usage patterns. This module demonstrates three ways to use ZenWebsocket: 1. Direct connection (no supervision) 2. Using ClientSupervisor 3. Direct supervision in your app - [ZenWebsocket.Examples.UsagePatterns.ExampleApp](ZenWebsocket.Examples.UsagePatterns.ExampleApp.md): Example application module demonstrating all WebSocket connection patterns. - [ZenWebsocket.Frame](ZenWebsocket.Frame.md): WebSocket frame encoding and decoding utilities. - [ZenWebsocket.HeartbeatManager](ZenWebsocket.HeartbeatManager.md): Manages heartbeat lifecycle for WebSocket connections. - [ZenWebsocket.Helpers.Deribit](ZenWebsocket.Helpers.Deribit.md): Helper functions for Deribit-specific WebSocket operations. - [ZenWebsocket.JsonRpc](ZenWebsocket.JsonRpc.md): JSON-RPC 2.0 request builder and response matcher. - [ZenWebsocket.LatencyStats](ZenWebsocket.LatencyStats.md): Bounded circular buffer for latency statistics calculation. - [ZenWebsocket.MessageHandler](ZenWebsocket.MessageHandler.md): Message handling utilities for WebSocket connections. - [ZenWebsocket.PoolRouter](ZenWebsocket.PoolRouter.md): Health-based connection routing for WebSocket client pools. - [ZenWebsocket.RateLimiter](ZenWebsocket.RateLimiter.md): Token bucket rate limiter for WebSocket API calls. - [ZenWebsocket.Reconnection](ZenWebsocket.Reconnection.md): Internal reconnection helper for Client GenServer. - [ZenWebsocket.Recorder](ZenWebsocket.Recorder.md): Pure functions for WebSocket session recording and replay. - [ZenWebsocket.RecorderServer](ZenWebsocket.RecorderServer.md): Async GenServer for recording WebSocket sessions to JSONL files. - [ZenWebsocket.RequestCorrelator](ZenWebsocket.RequestCorrelator.md): Manages request/response correlation for JSON-RPC WebSocket connections. - [ZenWebsocket.SubscriptionManager](ZenWebsocket.SubscriptionManager.md): Manages subscription tracking for WebSocket connections. - [ZenWebsocket.Testing](ZenWebsocket.Testing.md): Test helpers for consumers testing ZenWebsocket integrations. ## Mix Tasks - [mix stability_test](Mix.Tasks.StabilityTest.md): Runs stability tests for ZenWebsocket with Deribit integration. - [mix zen_websocket.usage](Mix.Tasks.ZenWebsocket.Usage.md): Mix task to export ZenWebsocket usage rules for AI agents and developers. - [mix zen_websocket.validate_usage](Mix.Tasks.ZenWebsocket.ValidateUsage.md): Validates that code follows ZenWebsocket usage rules.