# gRPC Client v1.0.1 - Table of Contents > gRPC client implementation for Elixir ## Pages - [gRPC Elixir Client](readme.md) - [Changelog](changelog.md) - Getting Started - [Client](client.md) - Advanced - [Custom Codecs](custom_codecs.md) - [Load Balancing](load_balancing.md) ## Modules - [GRPC.Client.Adapters.Gun.ConnectionProcess](GRPC.Client.Adapters.Gun.ConnectionProcess.md): Owns long-lived Gun connections on behalf of the Gun adapter. - [GRPC.Client.Adapters.Gun.StreamResponseProcess](GRPC.Client.Adapters.Gun.StreamResponseProcess.md): Owns response state for a single Gun request stream. - [GRPC.Client.DNSResolver](GRPC.Client.DNSResolver.md): Dedicated process for periodic DNS re-resolution. - [GRPC.Client.Interceptor](GRPC.Client.Interceptor.md): Interceptor on client side. See `GRPC.Stub.connect/2`. - [GRPC.Client.Interceptors.Logger](GRPC.Client.Interceptors.Logger.md): Print log around client rpc calls, like - [GRPC.Client.Resolver.DNS.Adapter](GRPC.Client.Resolver.DNS.Adapter.md): Adapter to resolve DNS (A and TXT). - [GRPC.Client.ServiceConfig](GRPC.Client.ServiceConfig.md): Represents the gRPC `ServiceConfig` parsed from JSON, which can come from DNS TXT records or xDS. - Client Core - [GRPC.Channel](GRPC.Channel.md): A struct to store the connection data, which should be passed to RPC functions as the first argument - [GRPC.Client.Connection](GRPC.Client.Connection.md): Connection manager for gRPC client channels, with optional load balancing and name resolution support. - [GRPC.Client.Stream](GRPC.Client.Stream.md): A struct that *streaming* clients get from rpc function calls and use to send further requests. - [GRPC.Stub](GRPC.Stub.md): A module acting as the interface for gRPC client. - Adapters - [GRPC.Client.Adapter](GRPC.Client.Adapter.md): HTTP client adapter for GRPC. - [GRPC.Client.Adapters.Gun](GRPC.Client.Adapters.Gun.md): A client adapter using Gun. - [GRPC.Client.Adapters.Mint](GRPC.Client.Adapters.Mint.md): A client adapter using Mint. - Load Balancing - [GRPC.Client.LoadBalancing](GRPC.Client.LoadBalancing.md): Load balancing behaviour for gRPC clients. - [GRPC.Client.LoadBalancing.PickFirst](GRPC.Client.LoadBalancing.PickFirst.md) - [GRPC.Client.LoadBalancing.RoundRobin](GRPC.Client.LoadBalancing.RoundRobin.md) - Resolvers - [GRPC.Client.Resolver](GRPC.Client.Resolver.md): Behaviour for gRPC client resolvers. - [GRPC.Client.Resolver.DNS](GRPC.Client.Resolver.DNS.md): DNS Resolver for gRPC targets, supporting dynamic updates via a GenServer. - [GRPC.Client.Resolver.IPv4](GRPC.Client.Resolver.IPv4.md): Resolver for gRPC clients connecting to one or more IPv4 addresses. - [GRPC.Client.Resolver.IPv6](GRPC.Client.Resolver.IPv6.md): Resolver for gRPC clients connecting to one or more IPv6 addresses. - [GRPC.Client.Resolver.Unix](GRPC.Client.Resolver.Unix.md): Resolver for gRPC clients connecting via Unix Domain Sockets (UDS). - Deprecated - [GRPC.ClientInterceptor](GRPC.ClientInterceptor.md): Interceptor on client side. See `GRPC.Stub.connect/2`.