# PhoenixGenApi v2.11.0 - Table of Contents A library for fast develop APIs in Elixir cluster, using Phoenix Channels for transport data, auto pull api configs from service nodes. ## Pages - [Getting Started](getting_started.md) - [Telemetry](telemetry.md) - [Readme](readme.md) ## Modules - [PhoenixGenApi](PhoenixGenApi.md): PhoenixGenApi is a framework for building distributed API systems with Phoenix. - [PhoenixGenApi.ArgumentHandler](PhoenixGenApi.ArgumentHandler.md): Validates and converts request arguments according to configured type specifications. - [PhoenixGenApi.ChannelHelpers](PhoenixGenApi.ChannelHelpers.md): Shared push-handling logic for GenApi WebSocket channels. - [PhoenixGenApi.ConfigDb](PhoenixGenApi.ConfigDb.md): A GenServer-based cache for storing `FunConfig` structs, using an ETS table as the backing store. - [PhoenixGenApi.ConfigPuller](PhoenixGenApi.ConfigPuller.md): This module is responsible for periodically pulling function configurations (`%FunConfig{}`) from remote nodes and updating the `ConfigDb`. - [PhoenixGenApi.ConfigPusher](PhoenixGenApi.ConfigPusher.md): A client-side module used on remote/service nodes to push configurations to the PhoenixGenApi gateway/server node. - [PhoenixGenApi.ConfigReceiver](PhoenixGenApi.ConfigReceiver.md): A server-side GenServer that receives pushed configs from remote nodes. - [PhoenixGenApi.Executor](PhoenixGenApi.Executor.md): The core execution engine of PhoenixGenApi. - [PhoenixGenApi.Helpers.Shared](PhoenixGenApi.Helpers.Shared.md): Shared utility functions used across PhoenixGenApi modules. - [PhoenixGenApi.Hooks](PhoenixGenApi.Hooks.md): Provides before/after execution hooks for `FunConfig`. - [PhoenixGenApi.ImplHelper](PhoenixGenApi.ImplHelper.md) - [PhoenixGenApi.NodeSelector](PhoenixGenApi.NodeSelector.md): Provides node selection strategies for distributed request execution. - [PhoenixGenApi.Permission](PhoenixGenApi.Permission.md): Provides permission checking functionality for API requests. - [PhoenixGenApi.RateLimiter](PhoenixGenApi.RateLimiter.md): Provides rate limiting functionality for API requests. - [PhoenixGenApi.StreamCall](PhoenixGenApi.StreamCall.md): A GenServer that manages a streaming function call. - [PhoenixGenApi.Structs.FunConfig](PhoenixGenApi.Structs.FunConfig.md): Defines the configuration for a function that can be called through the API. - [PhoenixGenApi.Structs.PushConfig](PhoenixGenApi.Structs.PushConfig.md): Represents the data a remote node pushes to the PhoenixGenApi server node. - [PhoenixGenApi.Structs.Request](PhoenixGenApi.Structs.Request.md): Request struct for internal using, convert data map from websocket api. - [PhoenixGenApi.Structs.Response](PhoenixGenApi.Structs.Response.md): Defines the structure of a response sent back to the client. - [PhoenixGenApi.Structs.ServiceConfig](PhoenixGenApi.Structs.ServiceConfig.md): Service configuration struct that defines how to connect to a remote service and pull its function configurations. - [PhoenixGenApi.Structs.StreamHelper](PhoenixGenApi.Structs.StreamHelper.md): Support for send data to stream. - [PhoenixGenApi.Telemetry](PhoenixGenApi.Telemetry.md): Telemetry integration for PhoenixGenApi. - [PhoenixGenApi.WorkerPool](PhoenixGenApi.WorkerPool.md): Generic worker pool for executing tasks asynchronously. - [PhoenixGenApi.WorkerPool.Worker](PhoenixGenApi.WorkerPool.Worker.md): Individual worker process for executing tasks. - [PhoenixGenApi.WorkerPool.WorkerPoolSupervisor](PhoenixGenApi.WorkerPool.WorkerPoolSupervisor.md): Supervisor for worker pools. - Exceptions - [PhoenixGenApi.Errors.InvalidType](PhoenixGenApi.Errors.InvalidType.md): Error raised when an argument has an invalid type.