temporal_sdk_grpc_codec behaviour (temporal_sdk v0.1.15)

View Source

gRPC Protocol Buffers (protobuf) codec behaviour module.

Summary

Callbacks

cast(TermToEncode)

(optional)
-callback cast(TermToEncode :: term()) -> EncodedTerm :: term().

decode_msg(Bin, RequestInfo, HContentType, Opts)

-callback decode_msg(Bin :: binary(),
                     RequestInfo :: temporal_sdk_grpc:request_info(),
                     HContentType :: binary() | atom(),
                     Opts :: term()) ->
                        {ok, temporal_sdk_grpc:msg()} | {error, {codec_error, term()}}.

encode_msg(Msg, RequestInfo, Opts)

-callback encode_msg(Msg :: temporal_sdk_grpc:msg(),
                     RequestInfo :: temporal_sdk_grpc:request_info(),
                     Opts :: term()) ->
                        {ok, binary()} | {error, {codec_error, term()}}.

from_json(Json, MsgName, Opts)

-callback from_json(Json :: map(), MsgName :: temporal_sdk_grpc:msg_name(), Opts :: term()) ->
                       {ok, temporal_sdk_grpc:msg()} | {error, {codec_error, term()}}.

to_json(Msg, MsgName, Opts)

-callback to_json(Msg :: temporal_sdk_grpc:msg(), MsgName :: temporal_sdk_grpc:msg_name(), Opts :: term()) ->
                     {ok, map()} | {error, {codec_error, term()}}.