temporal_sdk_grpc (temporal_sdk v0.1.14)
View SourcegRPC client module.
Summary
Types
-type cluster_name() :: atom().
-type headers() :: [{nonempty_binary() | string() | atom(), iodata()}] | #{nonempty_binary() | string() | atom() => iodata()}.
-type msg() :: dynamic().
-type msg_name() :: term().
-type opts() :: #{converter => converter(), codec => codec(), compressor => compressor(), interceptor => interceptor(), timeout => non_neg_integer(), retry_policy => retry_policy(), headers => headers(), maximum_request_size => pos_integer()}.
-type result() :: result_success() | result_error().
-type result_error() :: {error, Reason :: term()}.
-type result_success() :: {ok, ResponseMsg :: temporal_sdk_grpc:msg()}.
-type retry_policy() :: disabled | #{initial_interval := pos_integer(), backoff_coefficient := pos_integer(), maximum_interval := pos_integer(), max_attempts := pos_integer(), is_retryable := fun((Result :: result(), RequestInfo :: request_info(), Attempt :: pos_integer()) -> boolean())}.
-type rpc_name() :: term().
Functions
-spec max_timeout(Opts :: opts()) -> pos_integer().
-spec request(From :: erlang:send_destination() | noreply, Cluster :: cluster_name(), Msg :: msg(), Opts :: opts(), RequestInfo :: request_info()) -> ok.
-spec start_grpc(Cluster :: cluster_name(), Adapter :: adapter()) -> ok | {error, term()}.