GRPC.Client.LoadBalancing behaviour (gRPC Client v1.0.2)

Copy Markdown View Source

Load balancing behaviour for gRPC clients.

Summary

Callbacks

init(opts)

@callback init(opts :: keyword()) :: {:ok, state :: any()} | {:error, reason :: any()}

pick(state)

@callback pick(state :: any()) ::
  {:ok, GRPC.Channel.t(), new_state :: any()} | {:error, reason :: any()}

update(state, new_channels)

@callback update(state :: any(), new_channels :: [GRPC.Channel.t()]) ::
  {:ok, new_state :: any()} | {:error, reason :: any()}