temporal_sdk_client (temporal_sdk v0.1.14)

View Source

SDK gRPC client module.

Summary

Types

call_result()

-type call_result() :: call_result_success() | call_result_error().

call_result_error()

-type call_result_error() :: temporal_sdk_grpc:result_error() | request_error().

call_result_success()

-type call_result_success() :: {ok, dynamic()}.

cast_result()

-type cast_result() :: ok | request_error().

from_payload_mapper()

-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()).

grpc_opts()

-type grpc_opts() :: temporal_sdk_grpc:opts().

helpers()

-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())}.

msg()

-type msg() :: temporal_msg().

msg_name()

-type msg_name() :: temporal_msg_name().

msg_result()

-type msg_result() :: reference() | request_error().

opts()

-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()}.

request_error()

-type request_error() ::
          {error, timeout | {invalid_opts, Details :: term()} | invalid_cluster | invalid_request_type}.

request_type()

-type request_type() :: call | cast | msg.

result()

-type result() :: call_result() | cast_result() | msg_result().

temporal_msg()

temporal_msg_name()

to_payload_mapper()

-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()).

user_opts()

-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

request(Cluster, Msg, Type, GrpcOpts, RequestInfo)

-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.