EasyRpc.Info (EasyRpc v0.9.1)

Copy Markdown View Source

Info module for introspecting EasyRpc DSL definitions.

Provides functions to query the DSL state of modules using EasyRpc.

Examples

# Get all RPC functions
EasyRpc.Info.rpc_functions(MyApp.RemoteApi)

# Get config values
EasyRpc.Info.config(MyApp.RemoteApi)

Summary

Functions

Enable detailed logging (default: true)

Enable detailed logging (default: true)

Return {:ok, result} tuples (default: false)

Return {:ok, result} tuples (default: false)

Remote module to call

Remote module to call

Static list of target node names (e.g., [:"node1@host", :"node2@host"])

Static list of target node names (e.g., [:"node1@host", :"node2@host"])

Dynamic node discovery via MFA: {module, function, args} (alternative to :nodes)

Dynamic node discovery via MFA: {module, function, args} (alternative to :nodes)

config DSL options

Global retry count (default: 0)

Global retry count (default: 0)

Node selection strategy

Node selection strategy

Ms to wait before retry (default: 0)

Ms to wait before retry (default: 0)

Pin to the first selected node for the process lifetime

Pin to the first selected node for the process lifetime

Global timeout in ms (use :infinity for no timeout)

Global timeout in ms (use :infinity for no timeout)

rpc_functions DSL entities

Functions

config_enable_logging(dsl_or_extended)

@spec config_enable_logging(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Enable detailed logging (default: true)

config_enable_logging!(dsl_or_extended)

@spec config_enable_logging!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Enable detailed logging (default: true)

config_error_handling(dsl_or_extended)

@spec config_error_handling(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Return {:ok, result} tuples (default: false)

config_error_handling!(dsl_or_extended)

@spec config_error_handling!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Return {:ok, result} tuples (default: false)

config_module(dsl_or_extended)

@spec config_module(dsl_or_extended :: module() | map()) :: {:ok, atom()} | :error

Remote module to call

config_module!(dsl_or_extended)

@spec config_module!(dsl_or_extended :: module() | map()) :: atom() | no_return()

Remote module to call

config_nodes(dsl_or_extended)

@spec config_nodes(dsl_or_extended :: module() | map()) :: {:ok, [atom()]} | :error

Static list of target node names (e.g., [:"node1@host", :"node2@host"])

config_nodes!(dsl_or_extended)

@spec config_nodes!(dsl_or_extended :: module() | map()) :: [atom()] | no_return()

Static list of target node names (e.g., [:"node1@host", :"node2@host"])

config_nodes_provider(dsl_or_extended)

@spec config_nodes_provider(dsl_or_extended :: module() | map()) ::
  {:ok, mfa()} | :error

Dynamic node discovery via MFA: {module, function, args} (alternative to :nodes)

config_nodes_provider!(dsl_or_extended)

@spec config_nodes_provider!(dsl_or_extended :: module() | map()) ::
  mfa() | no_return()

Dynamic node discovery via MFA: {module, function, args} (alternative to :nodes)

config_options(dsl_or_extended)

@spec config_options(dsl_or_extended :: module() | map()) :: %{
  required(atom()) => any()
}

config DSL options

Returns a map containing the and any configured or default values.

config_retry(dsl_or_extended)

@spec config_retry(dsl_or_extended :: module() | map()) :: {:ok, integer()} | :error

Global retry count (default: 0)

config_retry!(dsl_or_extended)

@spec config_retry!(dsl_or_extended :: module() | map()) :: integer() | no_return()

Global retry count (default: 0)

config_select_mode(dsl_or_extended)

@spec config_select_mode(dsl_or_extended :: module() | map()) ::
  {:ok, :hash | :round_robin | :random} | :error

Node selection strategy

config_select_mode!(dsl_or_extended)

@spec config_select_mode!(dsl_or_extended :: module() | map()) ::
  (:hash | :round_robin | :random) | no_return()

Node selection strategy

config_sleep_before_retry(dsl_or_extended)

@spec config_sleep_before_retry(dsl_or_extended :: module() | map()) ::
  {:ok, integer()} | :error

Ms to wait before retry (default: 0)

config_sleep_before_retry!(dsl_or_extended)

@spec config_sleep_before_retry!(dsl_or_extended :: module() | map()) ::
  integer() | no_return()

Ms to wait before retry (default: 0)

config_sticky_node(dsl_or_extended)

@spec config_sticky_node(dsl_or_extended :: module() | map()) ::
  {:ok, boolean()} | :error

Pin to the first selected node for the process lifetime

config_sticky_node!(dsl_or_extended)

@spec config_sticky_node!(dsl_or_extended :: module() | map()) ::
  boolean() | no_return()

Pin to the first selected node for the process lifetime

config_timeout(dsl_or_extended)

@spec config_timeout(dsl_or_extended :: module() | map()) :: {:ok, integer()} | :error

Global timeout in ms (use :infinity for no timeout)

config_timeout!(dsl_or_extended)

@spec config_timeout!(dsl_or_extended :: module() | map()) :: integer() | no_return()

Global timeout in ms (use :infinity for no timeout)

rpc_functions(dsl_or_extended)

@spec rpc_functions(dsl_or_extended :: module() | map()) :: [struct()]

rpc_functions DSL entities