temporal_sdk_client (temporal_sdk v0.1.14)
View SourceSDK gRPC client module.
Summary
Types
-type call_result() :: call_result_success() | call_result_error().
-type call_result_error() :: temporal_sdk_grpc:result_error() | request_error().
-type call_result_success() :: {ok, dynamic()}.
-type cast_result() :: ok | request_error().
-type from_payload_mapper() :: fun((Cluster :: temporal_sdk_cluster:cluster_name(), MsgName :: msg_name(), Key :: term(), Position :: pos_integer(), Data :: temporal_sdk:temporal_payload()) -> Arg :: temporal_sdk:term_from_payload()).
-type grpc_opts() :: temporal_sdk_grpc:opts().
-type helpers() :: #{id => fun((Cluster :: temporal_sdk_cluster:cluster_name(), MsgName :: msg_name(), IdKey :: term(), Msg :: map()) -> unicode:chardata()), identity => fun((Cluster :: temporal_sdk_cluster:cluster_name(), Id :: temporal_sdk:serializable(), MsgName :: msg_name()) -> unicode:chardata()), to_payload_mapper => to_payload_mapper(), from_payload_mapper => from_payload_mapper(), serializer => fun((Cluster :: temporal_sdk_cluster:cluster_name(), MsgName :: temporal_sdk_client:msg_name() | 'temporal.api.command.v1.*' | atom(), Key :: term(), Term :: temporal_sdk:serializable()) -> unicode:chardata())}.
-type msg() :: temporal_msg().
-type msg_name() :: temporal_msg_name().
-type msg_result() :: reference() | request_error().
-type opts() :: #{adapter => temporal_sdk_grpc:adapter(), pool_size => pos_integer(), pool_strategy => round_robin | random, grpc_opts => grpc_opts(), grpc_opts_longpoll => grpc_opts(), helpers => helpers()}.
-type request_error() :: {error, timeout | {invalid_opts, Details :: term()} | invalid_cluster | invalid_request_type}.
-type request_type() :: call | cast | msg.
-type result() :: call_result() | cast_result() | msg_result().
-type temporal_msg() :: temporal_sdk_proto_service_workflow_binaries:'$msg'() | temporal_sdk_proto_service_operator_binaries:'$msg'().
-type temporal_msg_name() :: temporal_sdk_proto_service_workflow_binaries:'$msg_name'() | temporal_sdk_proto_service_operator_binaries:'$msg_name'().
-type to_payload_mapper() :: fun((Cluster :: temporal_sdk_cluster:cluster_name(), MsgName :: msg_name(), Key :: term(), Position :: pos_integer(), Data :: temporal_sdk:term_to_payload()) -> Payload :: temporal_sdk:temporal_payload()).
-type user_opts() :: [{adapter, temporal_sdk_grpc:adapter()} | {pool_size, pos_integer()} | {pool_strategy, round_robin | random} | {grpc_opts, grpc_opts()} | {grpc_opts_longpoll, grpc_opts()} | {helpers, helpers()}].
Functions
-spec request(Cluster :: temporal_sdk_cluster:cluster_name(), Msg :: msg(), Type, GrpcOpts :: grpc_opts(), RequestInfo :: temporal_sdk_grpc:request_info()) -> Result :: call_result() when Type :: call; (Cluster :: temporal_sdk_cluster:cluster_name(), Msg :: msg(), Type, GrpcOpts :: grpc_opts(), RequestInfo :: temporal_sdk_grpc:request_info()) -> Result :: cast_result() when Type :: cast; (Cluster :: temporal_sdk_cluster:cluster_name(), Msg :: msg(), Type, GrpcOpts :: grpc_opts(), RequestInfo :: temporal_sdk_grpc:request_info()) -> Result :: msg_result() when Type :: msg.