From afb41d4914d9a6cdf918963ef0a43dcd9654afbc Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Sun, 19 Apr 2026 00:01:50 +0800 Subject: [PATCH] fix rpc --- include/message_pb.hrl | 61 +- proto/message.proto | 59 +- src/host/iot_host.erl | 6 +- src/protobuf/message_pb.erl | 1185 ++++++++++++++--------------- src/transport/tcp/tcp_channel.erl | 24 +- 5 files changed, 661 insertions(+), 674 deletions(-) diff --git a/include/message_pb.hrl b/include/message_pb.hrl index 6fd0eaa..9f7a2d3 100644 --- a/include/message_pb.hrl +++ b/include/message_pb.hrl @@ -8,6 +8,29 @@ -define(message_pb_gpb_version, "4.21.7"). +-ifndef('REQUESTFRAME_PB_H'). +-define('REQUESTFRAME_PB_H', true). +-record('RequestFrame', + {packet_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits + body :: {auth_request, message_pb:'AuthRequest'()} | {rpc_request, message_pb:'RpcRequest'()} | undefined % oneof + }). +-endif. + +-ifndef('RESPONSEFRAME_PB_H'). +-define('RESPONSEFRAME_PB_H', true). +-record('ResponseFrame', + {packet_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits + body :: {auth_reply, message_pb:'AuthReply'()} | {rpc_reply, message_pb:'RpcReply'()} | undefined % oneof + }). +-endif. + +-ifndef('CASTFRAME_PB_H'). +-define('CASTFRAME_PB_H', true). +-record('CastFrame', + {body :: {pub, message_pb:'Pub'()} | {command, message_pb:'Command'()} | {data, message_pb:'Data'()} | {event_stream, message_pb:'TaskEventStream'()} | undefined % oneof + }). +-endif. + -ifndef('AUTHREQUEST_PB_H'). -define('AUTHREQUEST_PB_H', true). -record('AuthRequest', @@ -44,42 +67,18 @@ }). -endif. --ifndef('JSONRPCREQUEST_PB_H'). --define('JSONRPCREQUEST_PB_H', true). --record('JsonRpcRequest', +-ifndef('RPCREQUEST_PB_H'). +-define('RPCREQUEST_PB_H', true). +-record('RpcRequest', {method = <<>> :: iodata() | undefined, % = 1, optional params = <<>> :: iodata() | undefined % = 2, optional }). -endif. --ifndef('JSONRPCREPLY_PB_H'). --define('JSONRPCREPLY_PB_H', true). --record('JsonRpcReply', - {result = <<>> :: iodata() | undefined, % = 1, optional - error = <<>> :: iodata() | undefined % = 2, optional - }). --endif. - --ifndef('REQUESTFRAME_PB_H'). --define('REQUESTFRAME_PB_H', true). --record('RequestFrame', - {packet_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits - body :: {auth_request, message_pb:'AuthRequest'()} | {jsonrpc_request, message_pb:'JsonRpcRequest'()} | undefined % oneof - }). --endif. - --ifndef('RESPONSEFRAME_PB_H'). --define('RESPONSEFRAME_PB_H', true). --record('ResponseFrame', - {packet_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits - body :: {auth_reply, message_pb:'AuthReply'()} | {jsonrpc_reply, message_pb:'JsonRpcReply'()} | undefined % oneof - }). --endif. - --ifndef('CASTFRAME_PB_H'). --define('CASTFRAME_PB_H', true). --record('CastFrame', - {body :: {pub, message_pb:'Pub'()} | {command, message_pb:'Command'()} | {data, message_pb:'Data'()} | {event_stream, message_pb:'TaskEventStream'()} | undefined % oneof +-ifndef('RPCREPLY_PB_H'). +-define('RPCREPLY_PB_H', true). +-record('RpcReply', + {body :: {result, iodata()} | {error, iodata()} | undefined % oneof }). -endif. diff --git a/proto/message.proto b/proto/message.proto index e70273b..8d37c08 100644 --- a/proto/message.proto +++ b/proto/message.proto @@ -1,5 +1,33 @@ syntax = "proto3"; +// 整体封装的消息体 +message RequestFrame { + uint32 packet_id = 1; + oneof body { + AuthRequest auth_request = 2; + RpcRequest rpc_request = 3; + } +} + +message ResponseFrame { + uint32 packet_id = 1; + oneof body { + AuthReply auth_reply = 2; + RpcReply rpc_reply = 3; + } +} + +message CastFrame { + oneof body { + Pub pub = 1; + Command command = 2; + Data data = 3; + TaskEventStream event_stream = 4; + } +} + +// message定义 + message AuthRequest { bytes uuid = 1; bytes username = 2; @@ -24,38 +52,15 @@ message Command { bytes command = 2; } -message JsonRpcRequest { +message RpcRequest { bytes method = 1; bytes params = 2; } -message JsonRpcReply { - bytes result = 1; - bytes error = 2; -} - -message RequestFrame { - uint32 packet_id = 1; +message RpcReply { oneof body { - AuthRequest auth_request = 2; - JsonRpcRequest jsonrpc_request = 3; - } -} - -message ResponseFrame { - uint32 packet_id = 1; - oneof body { - AuthReply auth_reply = 2; - JsonRpcReply jsonrpc_reply = 3; - } -} - -message CastFrame { - oneof body { - Pub pub = 1; - Command command = 2; - Data data = 3; - TaskEventStream event_stream = 4; + bytes result = 1; + bytes error = 2; } } diff --git a/src/host/iot_host.erl b/src/host/iot_host.erl index 3e987f0..3211d8c 100644 --- a/src/host/iot_host.erl +++ b/src/host/iot_host.erl @@ -132,9 +132,9 @@ remove_container(Pid, ContainerName) when is_pid(Pid), is_binary(ContainerName) -spec await_reply(Pid :: pid(), Ref :: reference(), Timeout :: integer()) -> {ok, Result :: binary()} | {error, Reason :: binary()}. await_reply(Pid, Ref, Timeout) when is_pid(Pid), is_reference(Ref), is_integer(Timeout) -> receive - {jsonrpc_reply, Ref, #'JsonRpcReply'{result = ResultBin, error = <<>>}} -> + {rpc_reply, Ref, #'RpcReply'{body = {result, ResultBin}}} -> {ok, iolist_to_binary(ResultBin)}; - {jsonrpc_reply, Ref, #'JsonRpcReply'{result = <<>>, error = ErrorBin}} -> + {rpc_reply, Ref, #'RpcReply'{body = {error, ErrorBin}}} -> {error, iolist_to_binary(ErrorBin)} after Timeout -> ok = gen_statem:call(Pid, {cancel_jsonrpc_call, Ref}), @@ -399,7 +399,7 @@ state_map(#state{host_id = HostId, uuid = UUID, has_session = HasSession, heartb flush_reply(Ref) -> receive - {jsonrpc_reply, Ref, _Reply} -> + {rpc_reply, Ref, _Reply} -> ok after 0 -> ok diff --git a/src/protobuf/message_pb.erl b/src/protobuf/message_pb.erl index 3a4b2d9..d4a57f8 100644 --- a/src/protobuf/message_pb.erl +++ b/src/protobuf/message_pb.erl @@ -54,6 +54,12 @@ -export_type([]). %% message types +-type 'RequestFrame'() :: #'RequestFrame'{}. + +-type 'ResponseFrame'() :: #'ResponseFrame'{}. + +-type 'CastFrame'() :: #'CastFrame'{}. + -type 'AuthRequest'() :: #'AuthRequest'{}. -type 'AuthReply'() :: #'AuthReply'{}. @@ -62,23 +68,17 @@ -type 'Command'() :: #'Command'{}. --type 'JsonRpcRequest'() :: #'JsonRpcRequest'{}. +-type 'RpcRequest'() :: #'RpcRequest'{}. --type 'JsonRpcReply'() :: #'JsonRpcReply'{}. - --type 'RequestFrame'() :: #'RequestFrame'{}. - --type 'ResponseFrame'() :: #'ResponseFrame'{}. - --type 'CastFrame'() :: #'CastFrame'{}. +-type 'RpcReply'() :: #'RpcReply'{}. -type 'Data'() :: #'Data'{}. -type 'TaskEventStream'() :: #'TaskEventStream'{}. --export_type(['AuthRequest'/0, 'AuthReply'/0, 'Pub'/0, 'Command'/0, 'JsonRpcRequest'/0, 'JsonRpcReply'/0, 'RequestFrame'/0, 'ResponseFrame'/0, 'CastFrame'/0, 'Data'/0, 'TaskEventStream'/0]). --type '$msg_name'() :: 'AuthRequest' | 'AuthReply' | 'Pub' | 'Command' | 'JsonRpcRequest' | 'JsonRpcReply' | 'RequestFrame' | 'ResponseFrame' | 'CastFrame' | 'Data' | 'TaskEventStream'. --type '$msg'() :: 'AuthRequest'() | 'AuthReply'() | 'Pub'() | 'Command'() | 'JsonRpcRequest'() | 'JsonRpcReply'() | 'RequestFrame'() | 'ResponseFrame'() | 'CastFrame'() | 'Data'() | 'TaskEventStream'(). +-export_type(['RequestFrame'/0, 'ResponseFrame'/0, 'CastFrame'/0, 'AuthRequest'/0, 'AuthReply'/0, 'Pub'/0, 'Command'/0, 'RpcRequest'/0, 'RpcReply'/0, 'Data'/0, 'TaskEventStream'/0]). +-type '$msg_name'() :: 'RequestFrame' | 'ResponseFrame' | 'CastFrame' | 'AuthRequest' | 'AuthReply' | 'Pub' | 'Command' | 'RpcRequest' | 'RpcReply' | 'Data' | 'TaskEventStream'. +-type '$msg'() :: 'RequestFrame'() | 'ResponseFrame'() | 'CastFrame'() | 'AuthRequest'() | 'AuthReply'() | 'Pub'() | 'Command'() | 'RpcRequest'() | 'RpcReply'() | 'Data'() | 'TaskEventStream'(). -export_type(['$msg_name'/0, '$msg'/0]). -if(?OTP_RELEASE >= 24). @@ -105,20 +105,76 @@ encode_msg(Msg, MsgName, Opts) -> end, TrUserData = proplists:get_value(user_data, Opts), case MsgName of + 'RequestFrame' -> encode_msg_RequestFrame(id(Msg, TrUserData), TrUserData); + 'ResponseFrame' -> encode_msg_ResponseFrame(id(Msg, TrUserData), TrUserData); + 'CastFrame' -> encode_msg_CastFrame(id(Msg, TrUserData), TrUserData); 'AuthRequest' -> encode_msg_AuthRequest(id(Msg, TrUserData), TrUserData); 'AuthReply' -> encode_msg_AuthReply(id(Msg, TrUserData), TrUserData); 'Pub' -> encode_msg_Pub(id(Msg, TrUserData), TrUserData); 'Command' -> encode_msg_Command(id(Msg, TrUserData), TrUserData); - 'JsonRpcRequest' -> encode_msg_JsonRpcRequest(id(Msg, TrUserData), TrUserData); - 'JsonRpcReply' -> encode_msg_JsonRpcReply(id(Msg, TrUserData), TrUserData); - 'RequestFrame' -> encode_msg_RequestFrame(id(Msg, TrUserData), TrUserData); - 'ResponseFrame' -> encode_msg_ResponseFrame(id(Msg, TrUserData), TrUserData); - 'CastFrame' -> encode_msg_CastFrame(id(Msg, TrUserData), TrUserData); + 'RpcRequest' -> encode_msg_RpcRequest(id(Msg, TrUserData), TrUserData); + 'RpcReply' -> encode_msg_RpcReply(id(Msg, TrUserData), TrUserData); 'Data' -> encode_msg_Data(id(Msg, TrUserData), TrUserData); 'TaskEventStream' -> encode_msg_TaskEventStream(id(Msg, TrUserData), TrUserData) end. +encode_msg_RequestFrame(Msg, TrUserData) -> encode_msg_RequestFrame(Msg, <<>>, TrUserData). + + +encode_msg_RequestFrame(#'RequestFrame'{packet_id = F1, body = F2}, Bin, TrUserData) -> + B1 = if F1 == undefined -> Bin; + true -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= 0 -> Bin; + true -> e_varint(TrF1, <>, TrUserData) + end + end + end, + if F2 =:= undefined -> B1; + true -> + case id(F2, TrUserData) of + {auth_request, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_RequestFrame_auth_request(TrTF2, <>, TrUserData) end; + {rpc_request, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_RequestFrame_rpc_request(TrTF2, <>, TrUserData) end + end + end. + +encode_msg_ResponseFrame(Msg, TrUserData) -> encode_msg_ResponseFrame(Msg, <<>>, TrUserData). + + +encode_msg_ResponseFrame(#'ResponseFrame'{packet_id = F1, body = F2}, Bin, TrUserData) -> + B1 = if F1 == undefined -> Bin; + true -> + begin + TrF1 = id(F1, TrUserData), + if TrF1 =:= 0 -> Bin; + true -> e_varint(TrF1, <>, TrUserData) + end + end + end, + if F2 =:= undefined -> B1; + true -> + case id(F2, TrUserData) of + {auth_reply, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_ResponseFrame_auth_reply(TrTF2, <>, TrUserData) end; + {rpc_reply, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_ResponseFrame_rpc_reply(TrTF2, <>, TrUserData) end + end + end. + +encode_msg_CastFrame(Msg, TrUserData) -> encode_msg_CastFrame(Msg, <<>>, TrUserData). + + +encode_msg_CastFrame(#'CastFrame'{body = F1}, Bin, TrUserData) -> + if F1 =:= undefined -> Bin; + true -> + case id(F1, TrUserData) of + {pub, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_pub(TrTF1, <>, TrUserData) end; + {command, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_command(TrTF1, <>, TrUserData) end; + {data, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_data(TrTF1, <>, TrUserData) end; + {event_stream, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_event_stream(TrTF1, <>, TrUserData) end + end + end. + encode_msg_AuthRequest(Msg, TrUserData) -> encode_msg_AuthRequest(Msg, <<>>, TrUserData). @@ -255,10 +311,10 @@ encode_msg_Command(#'Command'{command_type = F1, command = F2}, Bin, TrUserData) end end. -encode_msg_JsonRpcRequest(Msg, TrUserData) -> encode_msg_JsonRpcRequest(Msg, <<>>, TrUserData). +encode_msg_RpcRequest(Msg, TrUserData) -> encode_msg_RpcRequest(Msg, <<>>, TrUserData). -encode_msg_JsonRpcRequest(#'JsonRpcRequest'{method = F1, params = F2}, Bin, TrUserData) -> +encode_msg_RpcRequest(#'RpcRequest'{method = F1, params = F2}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -280,84 +336,15 @@ encode_msg_JsonRpcRequest(#'JsonRpcRequest'{method = F1, params = F2}, Bin, TrUs end end. -encode_msg_JsonRpcReply(Msg, TrUserData) -> encode_msg_JsonRpcReply(Msg, <<>>, TrUserData). +encode_msg_RpcReply(Msg, TrUserData) -> encode_msg_RpcReply(Msg, <<>>, TrUserData). -encode_msg_JsonRpcReply(#'JsonRpcReply'{result = F1, error = F2}, Bin, TrUserData) -> - B1 = if F1 == undefined -> Bin; - true -> - begin - TrF1 = id(F1, TrUserData), - case iolist_size(TrF1) of - 0 -> Bin; - _ -> e_type_bytes(TrF1, <>, TrUserData) - end - end - end, - if F2 == undefined -> B1; - true -> - begin - TrF2 = id(F2, TrUserData), - case iolist_size(TrF2) of - 0 -> B1; - _ -> e_type_bytes(TrF2, <>, TrUserData) - end - end - end. - -encode_msg_RequestFrame(Msg, TrUserData) -> encode_msg_RequestFrame(Msg, <<>>, TrUserData). - - -encode_msg_RequestFrame(#'RequestFrame'{packet_id = F1, body = F2}, Bin, TrUserData) -> - B1 = if F1 == undefined -> Bin; - true -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= 0 -> Bin; - true -> e_varint(TrF1, <>, TrUserData) - end - end - end, - if F2 =:= undefined -> B1; - true -> - case id(F2, TrUserData) of - {auth_request, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_RequestFrame_auth_request(TrTF2, <>, TrUserData) end; - {jsonrpc_request, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_RequestFrame_jsonrpc_request(TrTF2, <>, TrUserData) end - end - end. - -encode_msg_ResponseFrame(Msg, TrUserData) -> encode_msg_ResponseFrame(Msg, <<>>, TrUserData). - - -encode_msg_ResponseFrame(#'ResponseFrame'{packet_id = F1, body = F2}, Bin, TrUserData) -> - B1 = if F1 == undefined -> Bin; - true -> - begin - TrF1 = id(F1, TrUserData), - if TrF1 =:= 0 -> Bin; - true -> e_varint(TrF1, <>, TrUserData) - end - end - end, - if F2 =:= undefined -> B1; - true -> - case id(F2, TrUserData) of - {auth_reply, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_ResponseFrame_auth_reply(TrTF2, <>, TrUserData) end; - {jsonrpc_reply, TF2} -> begin TrTF2 = id(TF2, TrUserData), e_mfield_ResponseFrame_jsonrpc_reply(TrTF2, <>, TrUserData) end - end - end. - -encode_msg_CastFrame(Msg, TrUserData) -> encode_msg_CastFrame(Msg, <<>>, TrUserData). - - -encode_msg_CastFrame(#'CastFrame'{body = F1}, Bin, TrUserData) -> +encode_msg_RpcReply(#'RpcReply'{body = F1}, Bin, TrUserData) -> if F1 =:= undefined -> Bin; true -> case id(F1, TrUserData) of - {pub, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_pub(TrTF1, <>, TrUserData) end; - {command, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_command(TrTF1, <>, TrUserData) end; - {data, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_data(TrTF1, <>, TrUserData) end; - {event_stream, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_mfield_CastFrame_event_stream(TrTF1, <>, TrUserData) end + {result, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_bytes(TrTF1, <>, TrUserData) end; + {error, TF1} -> begin TrTF1 = id(TF1, TrUserData), e_type_bytes(TrTF1, <>, TrUserData) end end end. @@ -425,8 +412,8 @@ e_mfield_RequestFrame_auth_request(Msg, Bin, TrUserData) -> Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_mfield_RequestFrame_jsonrpc_request(Msg, Bin, TrUserData) -> - SubBin = encode_msg_JsonRpcRequest(Msg, <<>>, TrUserData), +e_mfield_RequestFrame_rpc_request(Msg, Bin, TrUserData) -> + SubBin = encode_msg_RpcRequest(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. @@ -435,8 +422,8 @@ e_mfield_ResponseFrame_auth_reply(Msg, Bin, TrUserData) -> Bin2 = e_varint(byte_size(SubBin), Bin), <>. -e_mfield_ResponseFrame_jsonrpc_reply(Msg, Bin, TrUserData) -> - SubBin = encode_msg_JsonRpcReply(Msg, <<>>, TrUserData), +e_mfield_ResponseFrame_rpc_reply(Msg, Bin, TrUserData) -> + SubBin = encode_msg_RpcReply(Msg, <<>>, TrUserData), Bin2 = e_varint(byte_size(SubBin), Bin), <>. @@ -582,20 +569,277 @@ decode_msg_1_catch(Bin, MsgName, TrUserData) -> end. -endif. +decode_msg_2_doit('RequestFrame', Bin, TrUserData) -> id(decode_msg_RequestFrame(Bin, TrUserData), TrUserData); +decode_msg_2_doit('ResponseFrame', Bin, TrUserData) -> id(decode_msg_ResponseFrame(Bin, TrUserData), TrUserData); +decode_msg_2_doit('CastFrame', Bin, TrUserData) -> id(decode_msg_CastFrame(Bin, TrUserData), TrUserData); decode_msg_2_doit('AuthRequest', Bin, TrUserData) -> id(decode_msg_AuthRequest(Bin, TrUserData), TrUserData); decode_msg_2_doit('AuthReply', Bin, TrUserData) -> id(decode_msg_AuthReply(Bin, TrUserData), TrUserData); decode_msg_2_doit('Pub', Bin, TrUserData) -> id(decode_msg_Pub(Bin, TrUserData), TrUserData); decode_msg_2_doit('Command', Bin, TrUserData) -> id(decode_msg_Command(Bin, TrUserData), TrUserData); -decode_msg_2_doit('JsonRpcRequest', Bin, TrUserData) -> id(decode_msg_JsonRpcRequest(Bin, TrUserData), TrUserData); -decode_msg_2_doit('JsonRpcReply', Bin, TrUserData) -> id(decode_msg_JsonRpcReply(Bin, TrUserData), TrUserData); -decode_msg_2_doit('RequestFrame', Bin, TrUserData) -> id(decode_msg_RequestFrame(Bin, TrUserData), TrUserData); -decode_msg_2_doit('ResponseFrame', Bin, TrUserData) -> id(decode_msg_ResponseFrame(Bin, TrUserData), TrUserData); -decode_msg_2_doit('CastFrame', Bin, TrUserData) -> id(decode_msg_CastFrame(Bin, TrUserData), TrUserData); +decode_msg_2_doit('RpcRequest', Bin, TrUserData) -> id(decode_msg_RpcRequest(Bin, TrUserData), TrUserData); +decode_msg_2_doit('RpcReply', Bin, TrUserData) -> id(decode_msg_RpcReply(Bin, TrUserData), TrUserData); decode_msg_2_doit('Data', Bin, TrUserData) -> id(decode_msg_Data(Bin, TrUserData), TrUserData); decode_msg_2_doit('TaskEventStream', Bin, TrUserData) -> id(decode_msg_TaskEventStream(Bin, TrUserData), TrUserData). +decode_msg_RequestFrame(Bin, TrUserData) -> dfp_read_field_def_RequestFrame(Bin, 0, 0, 0, id(0, TrUserData), id(undefined, TrUserData), TrUserData). + +dfp_read_field_def_RequestFrame(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RequestFrame_packet_id(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_RequestFrame(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RequestFrame_auth_request(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_RequestFrame(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RequestFrame_rpc_request(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_RequestFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'RequestFrame'{packet_id = F@_1, body = F@_2}; +dfp_read_field_def_RequestFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_RequestFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). + +dg_read_field_def_RequestFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_RequestFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +dg_read_field_def_RequestFrame(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> + Key = X bsl N + Acc, + case Key of + 8 -> d_field_RequestFrame_packet_id(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_RequestFrame_auth_request(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 26 -> d_field_RequestFrame_rpc_request(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 1 -> skip_64_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 3 -> skip_group_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 5 -> skip_32_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) + end + end; +dg_read_field_def_RequestFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'RequestFrame'{packet_id = F@_1, body = F@_2}. + +d_field_RequestFrame_packet_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RequestFrame_packet_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_RequestFrame_packet_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> + {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, + dfp_read_field_def_RequestFrame(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). + +d_field_RequestFrame_auth_request(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RequestFrame_auth_request(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_RequestFrame_auth_request(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_AuthRequest(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_RequestFrame(RestF, + 0, + 0, + F, + F@_1, + case Prev of + undefined -> id({auth_request, NewFValue}, TrUserData); + {auth_request, MVPrev} -> id({auth_request, merge_msg_AuthRequest(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({auth_request, NewFValue}, TrUserData) + end, + TrUserData). + +d_field_RequestFrame_rpc_request(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RequestFrame_rpc_request(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_RequestFrame_rpc_request(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_RpcRequest(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_RequestFrame(RestF, + 0, + 0, + F, + F@_1, + case Prev of + undefined -> id({rpc_request, NewFValue}, TrUserData); + {rpc_request, MVPrev} -> id({rpc_request, merge_msg_RpcRequest(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({rpc_request, NewFValue}, TrUserData) + end, + TrUserData). + +skip_varint_RequestFrame(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +skip_varint_RequestFrame(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). + +skip_length_delimited_RequestFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_RequestFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +skip_length_delimited_RequestFrame(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_RequestFrame(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). + +skip_group_RequestFrame(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_RequestFrame(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). + +skip_32_RequestFrame(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). + +skip_64_RequestFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). + +decode_msg_ResponseFrame(Bin, TrUserData) -> dfp_read_field_def_ResponseFrame(Bin, 0, 0, 0, id(0, TrUserData), id(undefined, TrUserData), TrUserData). + +dfp_read_field_def_ResponseFrame(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_ResponseFrame_packet_id(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_ResponseFrame(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_ResponseFrame_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_ResponseFrame(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_ResponseFrame_rpc_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_ResponseFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'ResponseFrame'{packet_id = F@_1, body = F@_2}; +dfp_read_field_def_ResponseFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_ResponseFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). + +dg_read_field_def_ResponseFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_ResponseFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +dg_read_field_def_ResponseFrame(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> + Key = X bsl N + Acc, + case Key of + 8 -> d_field_ResponseFrame_packet_id(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_ResponseFrame_auth_reply(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 26 -> d_field_ResponseFrame_rpc_reply(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 1 -> skip_64_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 3 -> skip_group_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 5 -> skip_32_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) + end + end; +dg_read_field_def_ResponseFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'ResponseFrame'{packet_id = F@_1, body = F@_2}. + +d_field_ResponseFrame_packet_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_ResponseFrame_packet_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_ResponseFrame_packet_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> + {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, + dfp_read_field_def_ResponseFrame(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). + +d_field_ResponseFrame_auth_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_ResponseFrame_auth_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_ResponseFrame_auth_reply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_AuthReply(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_ResponseFrame(RestF, + 0, + 0, + F, + F@_1, + case Prev of + undefined -> id({auth_reply, NewFValue}, TrUserData); + {auth_reply, MVPrev} -> id({auth_reply, merge_msg_AuthReply(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({auth_reply, NewFValue}, TrUserData) + end, + TrUserData). + +d_field_ResponseFrame_rpc_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_ResponseFrame_rpc_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_ResponseFrame_rpc_reply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_RpcReply(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_ResponseFrame(RestF, + 0, + 0, + F, + F@_1, + case Prev of + undefined -> id({rpc_reply, NewFValue}, TrUserData); + {rpc_reply, MVPrev} -> id({rpc_reply, merge_msg_RpcReply(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({rpc_reply, NewFValue}, TrUserData) + end, + TrUserData). + +skip_varint_ResponseFrame(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +skip_varint_ResponseFrame(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). + +skip_length_delimited_ResponseFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_ResponseFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +skip_length_delimited_ResponseFrame(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_ResponseFrame(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). + +skip_group_ResponseFrame(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_ResponseFrame(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). + +skip_32_ResponseFrame(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). + +skip_64_ResponseFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). + +decode_msg_CastFrame(Bin, TrUserData) -> dfp_read_field_def_CastFrame(Bin, 0, 0, 0, id(undefined, TrUserData), TrUserData). + +dfp_read_field_def_CastFrame(<<10, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_pub(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_CastFrame(<<18, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_command(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_CastFrame(<<26, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_data(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_CastFrame(<<34, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_event_stream(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_CastFrame(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame'{body = F@_1}; +dfp_read_field_def_CastFrame(Other, Z1, Z2, F, F@_1, TrUserData) -> dg_read_field_def_CastFrame(Other, Z1, Z2, F, F@_1, TrUserData). + +dg_read_field_def_CastFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> dg_read_field_def_CastFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +dg_read_field_def_CastFrame(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) -> + Key = X bsl N + Acc, + case Key of + 10 -> d_field_CastFrame_pub(Rest, 0, 0, 0, F@_1, TrUserData); + 18 -> d_field_CastFrame_command(Rest, 0, 0, 0, F@_1, TrUserData); + 26 -> d_field_CastFrame_data(Rest, 0, 0, 0, F@_1, TrUserData); + 34 -> d_field_CastFrame_event_stream(Rest, 0, 0, 0, F@_1, TrUserData); + _ -> + case Key band 7 of + 0 -> skip_varint_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 1 -> skip_64_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 2 -> skip_length_delimited_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 3 -> skip_group_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 5 -> skip_32_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData) + end + end; +dg_read_field_def_CastFrame(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame'{body = F@_1}. + +d_field_CastFrame_pub(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_pub(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_CastFrame_pub(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Pub(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_CastFrame(RestF, + 0, + 0, + F, + case Prev of + undefined -> id({pub, NewFValue}, TrUserData); + {pub, MVPrev} -> id({pub, merge_msg_Pub(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({pub, NewFValue}, TrUserData) + end, + TrUserData). + +d_field_CastFrame_command(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_command(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_CastFrame_command(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Command(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_CastFrame(RestF, + 0, + 0, + F, + case Prev of + undefined -> id({command, NewFValue}, TrUserData); + {command, MVPrev} -> id({command, merge_msg_Command(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({command, NewFValue}, TrUserData) + end, + TrUserData). + +d_field_CastFrame_data(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_data(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_CastFrame_data(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Data(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_CastFrame(RestF, + 0, + 0, + F, + case Prev of + undefined -> id({data, NewFValue}, TrUserData); + {data, MVPrev} -> id({data, merge_msg_Data(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({data, NewFValue}, TrUserData) + end, + TrUserData). + +d_field_CastFrame_event_stream(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_event_stream(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_CastFrame_event_stream(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> + {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_TaskEventStream(Bs, TrUserData), TrUserData), Rest2} end, + dfp_read_field_def_CastFrame(RestF, + 0, + 0, + F, + case Prev of + undefined -> id({event_stream, NewFValue}, TrUserData); + {event_stream, MVPrev} -> id({event_stream, merge_msg_TaskEventStream(MVPrev, NewFValue, TrUserData)}, TrUserData); + _ -> id({event_stream, NewFValue}, TrUserData) + end, + TrUserData). + +skip_varint_CastFrame(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> skip_varint_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData); +skip_varint_CastFrame(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData). + +skip_length_delimited_CastFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> skip_length_delimited_CastFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +skip_length_delimited_CastFrame(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) -> + Length = X bsl N + Acc, + <<_:Length/binary, Rest2/binary>> = Rest, + dfp_read_field_def_CastFrame(Rest2, 0, 0, F, F@_1, TrUserData). + +skip_group_CastFrame(Bin, _, Z2, FNum, F@_1, TrUserData) -> + {_, Rest} = read_group(Bin, FNum), + dfp_read_field_def_CastFrame(Rest, 0, Z2, FNum, F@_1, TrUserData). + +skip_32_CastFrame(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData). + +skip_64_CastFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData). + decode_msg_AuthRequest(Bin, TrUserData) -> dfp_read_field_def_AuthRequest(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), TrUserData). dfp_read_field_def_AuthRequest(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_AuthRequest_uuid(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); @@ -828,364 +1072,107 @@ skip_32_Command(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp skip_64_Command(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_Command(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -decode_msg_JsonRpcRequest(Bin, TrUserData) -> dfp_read_field_def_JsonRpcRequest(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). +decode_msg_RpcRequest(Bin, TrUserData) -> dfp_read_field_def_RpcRequest(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). -dfp_read_field_def_JsonRpcRequest(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_JsonRpcRequest_method(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_JsonRpcRequest(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_JsonRpcRequest_params(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_JsonRpcRequest(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'JsonRpcRequest'{method = F@_1, params = F@_2}; -dfp_read_field_def_JsonRpcRequest(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_JsonRpcRequest(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). +dfp_read_field_def_RpcRequest(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RpcRequest_method(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_RpcRequest(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RpcRequest_params(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_RpcRequest(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'RpcRequest'{method = F@_1, params = F@_2}; +dfp_read_field_def_RpcRequest(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_RpcRequest(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). -dg_read_field_def_JsonRpcRequest(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_JsonRpcRequest(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -dg_read_field_def_JsonRpcRequest(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> +dg_read_field_def_RpcRequest(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_RpcRequest(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +dg_read_field_def_RpcRequest(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_JsonRpcRequest_method(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_JsonRpcRequest_params(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 10 -> d_field_RpcRequest_method(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_RpcRequest_params(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_JsonRpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 1 -> skip_64_JsonRpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_JsonRpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 3 -> skip_group_JsonRpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 5 -> skip_32_JsonRpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) + 0 -> skip_varint_RpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 1 -> skip_64_RpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_RpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 3 -> skip_group_RpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 5 -> skip_32_RpcRequest(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) end end; -dg_read_field_def_JsonRpcRequest(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'JsonRpcRequest'{method = F@_1, params = F@_2}. +dg_read_field_def_RpcRequest(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'RpcRequest'{method = F@_1, params = F@_2}. -d_field_JsonRpcRequest_method(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_JsonRpcRequest_method(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_JsonRpcRequest_method(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> +d_field_RpcRequest_method(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RpcRequest_method(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_RpcRequest_method(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_JsonRpcRequest(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). + dfp_read_field_def_RpcRequest(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). -d_field_JsonRpcRequest_params(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_JsonRpcRequest_params(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_JsonRpcRequest_params(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> +d_field_RpcRequest_params(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RpcRequest_params(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_RpcRequest_params(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_JsonRpcRequest(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). + dfp_read_field_def_RpcRequest(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). -skip_varint_JsonRpcRequest(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_JsonRpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -skip_varint_JsonRpcRequest(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_JsonRpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_varint_RpcRequest(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_RpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +skip_varint_RpcRequest(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -skip_length_delimited_JsonRpcRequest(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_JsonRpcRequest(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -skip_length_delimited_JsonRpcRequest(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> +skip_length_delimited_RpcRequest(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_RpcRequest(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +skip_length_delimited_RpcRequest(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_JsonRpcRequest(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). + dfp_read_field_def_RpcRequest(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). -skip_group_JsonRpcRequest(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> +skip_group_RpcRequest(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_JsonRpcRequest(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). + dfp_read_field_def_RpcRequest(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). -skip_32_JsonRpcRequest(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_JsonRpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_32_RpcRequest(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -skip_64_JsonRpcRequest(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_JsonRpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_64_RpcRequest(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RpcRequest(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -decode_msg_JsonRpcReply(Bin, TrUserData) -> dfp_read_field_def_JsonRpcReply(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). +decode_msg_RpcReply(Bin, TrUserData) -> dfp_read_field_def_RpcReply(Bin, 0, 0, 0, id(undefined, TrUserData), TrUserData). -dfp_read_field_def_JsonRpcReply(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_JsonRpcReply_result(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_JsonRpcReply(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_JsonRpcReply_error(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_JsonRpcReply(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'JsonRpcReply'{result = F@_1, error = F@_2}; -dfp_read_field_def_JsonRpcReply(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_JsonRpcReply(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). +dfp_read_field_def_RpcReply(<<10, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_RpcReply_result(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_RpcReply(<<18, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_RpcReply_error(Rest, Z1, Z2, F, F@_1, TrUserData); +dfp_read_field_def_RpcReply(<<>>, 0, 0, _, F@_1, _) -> #'RpcReply'{body = F@_1}; +dfp_read_field_def_RpcReply(Other, Z1, Z2, F, F@_1, TrUserData) -> dg_read_field_def_RpcReply(Other, Z1, Z2, F, F@_1, TrUserData). -dg_read_field_def_JsonRpcReply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_JsonRpcReply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -dg_read_field_def_JsonRpcReply(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> +dg_read_field_def_RpcReply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> dg_read_field_def_RpcReply(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +dg_read_field_def_RpcReply(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_JsonRpcReply_result(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_JsonRpcReply_error(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 10 -> d_field_RpcReply_result(Rest, 0, 0, 0, F@_1, TrUserData); + 18 -> d_field_RpcReply_error(Rest, 0, 0, 0, F@_1, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_JsonRpcReply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 1 -> skip_64_JsonRpcReply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_JsonRpcReply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 3 -> skip_group_JsonRpcReply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 5 -> skip_32_JsonRpcReply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) + 0 -> skip_varint_RpcReply(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 1 -> skip_64_RpcReply(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 2 -> skip_length_delimited_RpcReply(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 3 -> skip_group_RpcReply(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); + 5 -> skip_32_RpcReply(Rest, 0, 0, Key bsr 3, F@_1, TrUserData) end end; -dg_read_field_def_JsonRpcReply(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'JsonRpcReply'{result = F@_1, error = F@_2}. +dg_read_field_def_RpcReply(<<>>, 0, 0, _, F@_1, _) -> #'RpcReply'{body = F@_1}. -d_field_JsonRpcReply_result(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_JsonRpcReply_result(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_JsonRpcReply_result(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> +d_field_RpcReply_result(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_RpcReply_result(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_RpcReply_result(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_JsonRpcReply(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). + dfp_read_field_def_RpcReply(RestF, 0, 0, F, id({result, NewFValue}, TrUserData), TrUserData). -d_field_JsonRpcReply_error(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_JsonRpcReply_error(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_JsonRpcReply_error(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> +d_field_RpcReply_error(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_RpcReply_error(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +d_field_RpcReply_error(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_JsonRpcReply(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). + dfp_read_field_def_RpcReply(RestF, 0, 0, F, id({error, NewFValue}, TrUserData), TrUserData). -skip_varint_JsonRpcReply(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_JsonRpcReply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -skip_varint_JsonRpcReply(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_JsonRpcReply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_varint_RpcReply(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> skip_varint_RpcReply(Rest, Z1, Z2, F, F@_1, TrUserData); +skip_varint_RpcReply(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_RpcReply(Rest, Z1, Z2, F, F@_1, TrUserData). -skip_length_delimited_JsonRpcReply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_JsonRpcReply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -skip_length_delimited_JsonRpcReply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> +skip_length_delimited_RpcReply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> skip_length_delimited_RpcReply(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); +skip_length_delimited_RpcReply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_JsonRpcReply(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). + dfp_read_field_def_RpcReply(Rest2, 0, 0, F, F@_1, TrUserData). -skip_group_JsonRpcReply(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> +skip_group_RpcReply(Bin, _, Z2, FNum, F@_1, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_JsonRpcReply(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). + dfp_read_field_def_RpcReply(Rest, 0, Z2, FNum, F@_1, TrUserData). -skip_32_JsonRpcReply(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_JsonRpcReply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). +skip_32_RpcReply(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_RpcReply(Rest, Z1, Z2, F, F@_1, TrUserData). -skip_64_JsonRpcReply(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_JsonRpcReply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -decode_msg_RequestFrame(Bin, TrUserData) -> dfp_read_field_def_RequestFrame(Bin, 0, 0, 0, id(0, TrUserData), id(undefined, TrUserData), TrUserData). - -dfp_read_field_def_RequestFrame(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RequestFrame_packet_id(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_RequestFrame(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RequestFrame_auth_request(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_RequestFrame(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_RequestFrame_jsonrpc_request(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_RequestFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'RequestFrame'{packet_id = F@_1, body = F@_2}; -dfp_read_field_def_RequestFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_RequestFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). - -dg_read_field_def_RequestFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_RequestFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -dg_read_field_def_RequestFrame(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> - Key = X bsl N + Acc, - case Key of - 8 -> d_field_RequestFrame_packet_id(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_RequestFrame_auth_request(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 26 -> d_field_RequestFrame_jsonrpc_request(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 1 -> skip_64_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 3 -> skip_group_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 5 -> skip_32_RequestFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) - end - end; -dg_read_field_def_RequestFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'RequestFrame'{packet_id = F@_1, body = F@_2}. - -d_field_RequestFrame_packet_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RequestFrame_packet_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_RequestFrame_packet_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, - dfp_read_field_def_RequestFrame(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). - -d_field_RequestFrame_auth_request(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RequestFrame_auth_request(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_RequestFrame_auth_request(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_AuthRequest(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_RequestFrame(RestF, - 0, - 0, - F, - F@_1, - case Prev of - undefined -> id({auth_request, NewFValue}, TrUserData); - {auth_request, MVPrev} -> id({auth_request, merge_msg_AuthRequest(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({auth_request, NewFValue}, TrUserData) - end, - TrUserData). - -d_field_RequestFrame_jsonrpc_request(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_RequestFrame_jsonrpc_request(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_RequestFrame_jsonrpc_request(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_JsonRpcRequest(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_RequestFrame(RestF, - 0, - 0, - F, - F@_1, - case Prev of - undefined -> id({jsonrpc_request, NewFValue}, TrUserData); - {jsonrpc_request, MVPrev} -> id({jsonrpc_request, merge_msg_JsonRpcRequest(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({jsonrpc_request, NewFValue}, TrUserData) - end, - TrUserData). - -skip_varint_RequestFrame(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -skip_varint_RequestFrame(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -skip_length_delimited_RequestFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_RequestFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -skip_length_delimited_RequestFrame(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> - Length = X bsl N + Acc, - <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_RequestFrame(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). - -skip_group_RequestFrame(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> - {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_RequestFrame(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). - -skip_32_RequestFrame(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -skip_64_RequestFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_RequestFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -decode_msg_ResponseFrame(Bin, TrUserData) -> dfp_read_field_def_ResponseFrame(Bin, 0, 0, 0, id(0, TrUserData), id(undefined, TrUserData), TrUserData). - -dfp_read_field_def_ResponseFrame(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_ResponseFrame_packet_id(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_ResponseFrame(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_ResponseFrame_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_ResponseFrame(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_ResponseFrame_jsonrpc_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -dfp_read_field_def_ResponseFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'ResponseFrame'{packet_id = F@_1, body = F@_2}; -dfp_read_field_def_ResponseFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_ResponseFrame(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). - -dg_read_field_def_ResponseFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_ResponseFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -dg_read_field_def_ResponseFrame(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> - Key = X bsl N + Acc, - case Key of - 8 -> d_field_ResponseFrame_packet_id(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 18 -> d_field_ResponseFrame_auth_reply(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - 26 -> d_field_ResponseFrame_jsonrpc_reply(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 1 -> skip_64_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 2 -> skip_length_delimited_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 3 -> skip_group_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); - 5 -> skip_32_ResponseFrame(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) - end - end; -dg_read_field_def_ResponseFrame(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'ResponseFrame'{packet_id = F@_1, body = F@_2}. - -d_field_ResponseFrame_packet_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_ResponseFrame_packet_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_ResponseFrame_packet_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, - dfp_read_field_def_ResponseFrame(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). - -d_field_ResponseFrame_auth_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_ResponseFrame_auth_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_ResponseFrame_auth_reply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_AuthReply(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ResponseFrame(RestF, - 0, - 0, - F, - F@_1, - case Prev of - undefined -> id({auth_reply, NewFValue}, TrUserData); - {auth_reply, MVPrev} -> id({auth_reply, merge_msg_AuthReply(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({auth_reply, NewFValue}, TrUserData) - end, - TrUserData). - -d_field_ResponseFrame_jsonrpc_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_ResponseFrame_jsonrpc_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -d_field_ResponseFrame_jsonrpc_reply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_JsonRpcReply(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_ResponseFrame(RestF, - 0, - 0, - F, - F@_1, - case Prev of - undefined -> id({jsonrpc_reply, NewFValue}, TrUserData); - {jsonrpc_reply, MVPrev} -> id({jsonrpc_reply, merge_msg_JsonRpcReply(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({jsonrpc_reply, NewFValue}, TrUserData) - end, - TrUserData). - -skip_varint_ResponseFrame(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); -skip_varint_ResponseFrame(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -skip_length_delimited_ResponseFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_ResponseFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); -skip_length_delimited_ResponseFrame(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> - Length = X bsl N + Acc, - <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_ResponseFrame(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). - -skip_group_ResponseFrame(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> - {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_ResponseFrame(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). - -skip_32_ResponseFrame(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -skip_64_ResponseFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_ResponseFrame(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). - -decode_msg_CastFrame(Bin, TrUserData) -> dfp_read_field_def_CastFrame(Bin, 0, 0, 0, id(undefined, TrUserData), TrUserData). - -dfp_read_field_def_CastFrame(<<10, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_pub(Rest, Z1, Z2, F, F@_1, TrUserData); -dfp_read_field_def_CastFrame(<<18, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_command(Rest, Z1, Z2, F, F@_1, TrUserData); -dfp_read_field_def_CastFrame(<<26, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_data(Rest, Z1, Z2, F, F@_1, TrUserData); -dfp_read_field_def_CastFrame(<<34, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> d_field_CastFrame_event_stream(Rest, Z1, Z2, F, F@_1, TrUserData); -dfp_read_field_def_CastFrame(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame'{body = F@_1}; -dfp_read_field_def_CastFrame(Other, Z1, Z2, F, F@_1, TrUserData) -> dg_read_field_def_CastFrame(Other, Z1, Z2, F, F@_1, TrUserData). - -dg_read_field_def_CastFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> dg_read_field_def_CastFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); -dg_read_field_def_CastFrame(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) -> - Key = X bsl N + Acc, - case Key of - 10 -> d_field_CastFrame_pub(Rest, 0, 0, 0, F@_1, TrUserData); - 18 -> d_field_CastFrame_command(Rest, 0, 0, 0, F@_1, TrUserData); - 26 -> d_field_CastFrame_data(Rest, 0, 0, 0, F@_1, TrUserData); - 34 -> d_field_CastFrame_event_stream(Rest, 0, 0, 0, F@_1, TrUserData); - _ -> - case Key band 7 of - 0 -> skip_varint_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); - 1 -> skip_64_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); - 2 -> skip_length_delimited_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); - 3 -> skip_group_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData); - 5 -> skip_32_CastFrame(Rest, 0, 0, Key bsr 3, F@_1, TrUserData) - end - end; -dg_read_field_def_CastFrame(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame'{body = F@_1}. - -d_field_CastFrame_pub(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_pub(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); -d_field_CastFrame_pub(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Pub(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_CastFrame(RestF, - 0, - 0, - F, - case Prev of - undefined -> id({pub, NewFValue}, TrUserData); - {pub, MVPrev} -> id({pub, merge_msg_Pub(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({pub, NewFValue}, TrUserData) - end, - TrUserData). - -d_field_CastFrame_command(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_command(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); -d_field_CastFrame_command(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Command(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_CastFrame(RestF, - 0, - 0, - F, - case Prev of - undefined -> id({command, NewFValue}, TrUserData); - {command, MVPrev} -> id({command, merge_msg_Command(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({command, NewFValue}, TrUserData) - end, - TrUserData). - -d_field_CastFrame_data(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_data(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); -d_field_CastFrame_data(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_Data(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_CastFrame(RestF, - 0, - 0, - F, - case Prev of - undefined -> id({data, NewFValue}, TrUserData); - {data, MVPrev} -> id({data, merge_msg_Data(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({data, NewFValue}, TrUserData) - end, - TrUserData). - -d_field_CastFrame_event_stream(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> d_field_CastFrame_event_stream(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); -d_field_CastFrame_event_stream(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, {id(decode_msg_TaskEventStream(Bs, TrUserData), TrUserData), Rest2} end, - dfp_read_field_def_CastFrame(RestF, - 0, - 0, - F, - case Prev of - undefined -> id({event_stream, NewFValue}, TrUserData); - {event_stream, MVPrev} -> id({event_stream, merge_msg_TaskEventStream(MVPrev, NewFValue, TrUserData)}, TrUserData); - _ -> id({event_stream, NewFValue}, TrUserData) - end, - TrUserData). - -skip_varint_CastFrame(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> skip_varint_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData); -skip_varint_CastFrame(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData). - -skip_length_delimited_CastFrame(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> skip_length_delimited_CastFrame(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData); -skip_length_delimited_CastFrame(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) -> - Length = X bsl N + Acc, - <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_CastFrame(Rest2, 0, 0, F, F@_1, TrUserData). - -skip_group_CastFrame(Bin, _, Z2, FNum, F@_1, TrUserData) -> - {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_CastFrame(Rest, 0, Z2, FNum, F@_1, TrUserData). - -skip_32_CastFrame(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData). - -skip_64_CastFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_CastFrame(Rest, Z1, Z2, F, F@_1, TrUserData). +skip_64_RpcReply(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp_read_field_def_RpcReply(Rest, Z1, Z2, F, F@_1, TrUserData). decode_msg_Data(Bin, TrUserData) -> dfp_read_field_def_Data(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). @@ -1362,19 +1349,59 @@ merge_msgs(Prev, New, Opts) when element(1, Prev) =:= element(1, New), is_list(O merge_msgs(Prev, New, MsgName, Opts) -> TrUserData = proplists:get_value(user_data, Opts), case MsgName of + 'RequestFrame' -> merge_msg_RequestFrame(Prev, New, TrUserData); + 'ResponseFrame' -> merge_msg_ResponseFrame(Prev, New, TrUserData); + 'CastFrame' -> merge_msg_CastFrame(Prev, New, TrUserData); 'AuthRequest' -> merge_msg_AuthRequest(Prev, New, TrUserData); 'AuthReply' -> merge_msg_AuthReply(Prev, New, TrUserData); 'Pub' -> merge_msg_Pub(Prev, New, TrUserData); 'Command' -> merge_msg_Command(Prev, New, TrUserData); - 'JsonRpcRequest' -> merge_msg_JsonRpcRequest(Prev, New, TrUserData); - 'JsonRpcReply' -> merge_msg_JsonRpcReply(Prev, New, TrUserData); - 'RequestFrame' -> merge_msg_RequestFrame(Prev, New, TrUserData); - 'ResponseFrame' -> merge_msg_ResponseFrame(Prev, New, TrUserData); - 'CastFrame' -> merge_msg_CastFrame(Prev, New, TrUserData); + 'RpcRequest' -> merge_msg_RpcRequest(Prev, New, TrUserData); + 'RpcReply' -> merge_msg_RpcReply(Prev, New, TrUserData); 'Data' -> merge_msg_Data(Prev, New, TrUserData); 'TaskEventStream' -> merge_msg_TaskEventStream(Prev, New, TrUserData) end. +-compile({nowarn_unused_function,merge_msg_RequestFrame/3}). +merge_msg_RequestFrame(#'RequestFrame'{packet_id = PFpacket_id, body = PFbody}, #'RequestFrame'{packet_id = NFpacket_id, body = NFbody}, TrUserData) -> + #'RequestFrame'{packet_id = + if NFpacket_id =:= undefined -> PFpacket_id; + true -> NFpacket_id + end, + body = + case {PFbody, NFbody} of + {{auth_request, OPFbody}, {auth_request, ONFbody}} -> {auth_request, merge_msg_AuthRequest(OPFbody, ONFbody, TrUserData)}; + {{rpc_request, OPFbody}, {rpc_request, ONFbody}} -> {rpc_request, merge_msg_RpcRequest(OPFbody, ONFbody, TrUserData)}; + {_, undefined} -> PFbody; + _ -> NFbody + end}. + +-compile({nowarn_unused_function,merge_msg_ResponseFrame/3}). +merge_msg_ResponseFrame(#'ResponseFrame'{packet_id = PFpacket_id, body = PFbody}, #'ResponseFrame'{packet_id = NFpacket_id, body = NFbody}, TrUserData) -> + #'ResponseFrame'{packet_id = + if NFpacket_id =:= undefined -> PFpacket_id; + true -> NFpacket_id + end, + body = + case {PFbody, NFbody} of + {{auth_reply, OPFbody}, {auth_reply, ONFbody}} -> {auth_reply, merge_msg_AuthReply(OPFbody, ONFbody, TrUserData)}; + {{rpc_reply, OPFbody}, {rpc_reply, ONFbody}} -> {rpc_reply, merge_msg_RpcReply(OPFbody, ONFbody, TrUserData)}; + {_, undefined} -> PFbody; + _ -> NFbody + end}. + +-compile({nowarn_unused_function,merge_msg_CastFrame/3}). +merge_msg_CastFrame(#'CastFrame'{body = PFbody}, #'CastFrame'{body = NFbody}, TrUserData) -> + #'CastFrame'{body = + case {PFbody, NFbody} of + {{pub, OPFbody}, {pub, ONFbody}} -> {pub, merge_msg_Pub(OPFbody, ONFbody, TrUserData)}; + {{command, OPFbody}, {command, ONFbody}} -> {command, merge_msg_Command(OPFbody, ONFbody, TrUserData)}; + {{data, OPFbody}, {data, ONFbody}} -> {data, merge_msg_Data(OPFbody, ONFbody, TrUserData)}; + {{event_stream, OPFbody}, {event_stream, ONFbody}} -> {event_stream, merge_msg_TaskEventStream(OPFbody, ONFbody, TrUserData)}; + {_, undefined} -> PFbody; + _ -> NFbody + end}. + -compile({nowarn_unused_function,merge_msg_AuthRequest/3}). merge_msg_AuthRequest(#'AuthRequest'{uuid = PFuuid, username = PFusername, salt = PFsalt, token = PFtoken, timestamp = PFtimestamp}, #'AuthRequest'{uuid = NFuuid, username = NFusername, salt = NFsalt, token = NFtoken, timestamp = NFtimestamp}, _) -> #'AuthRequest'{uuid = @@ -1435,67 +1462,23 @@ merge_msg_Command(#'Command'{command_type = PFcommand_type, command = PFcommand} true -> NFcommand end}. --compile({nowarn_unused_function,merge_msg_JsonRpcRequest/3}). -merge_msg_JsonRpcRequest(#'JsonRpcRequest'{method = PFmethod, params = PFparams}, #'JsonRpcRequest'{method = NFmethod, params = NFparams}, _) -> - #'JsonRpcRequest'{method = - if NFmethod =:= undefined -> PFmethod; - true -> NFmethod - end, - params = - if NFparams =:= undefined -> PFparams; - true -> NFparams - end}. +-compile({nowarn_unused_function,merge_msg_RpcRequest/3}). +merge_msg_RpcRequest(#'RpcRequest'{method = PFmethod, params = PFparams}, #'RpcRequest'{method = NFmethod, params = NFparams}, _) -> + #'RpcRequest'{method = + if NFmethod =:= undefined -> PFmethod; + true -> NFmethod + end, + params = + if NFparams =:= undefined -> PFparams; + true -> NFparams + end}. --compile({nowarn_unused_function,merge_msg_JsonRpcReply/3}). -merge_msg_JsonRpcReply(#'JsonRpcReply'{result = PFresult, error = PFerror}, #'JsonRpcReply'{result = NFresult, error = NFerror}, _) -> - #'JsonRpcReply'{result = - if NFresult =:= undefined -> PFresult; - true -> NFresult - end, - error = - if NFerror =:= undefined -> PFerror; - true -> NFerror - end}. - --compile({nowarn_unused_function,merge_msg_RequestFrame/3}). -merge_msg_RequestFrame(#'RequestFrame'{packet_id = PFpacket_id, body = PFbody}, #'RequestFrame'{packet_id = NFpacket_id, body = NFbody}, TrUserData) -> - #'RequestFrame'{packet_id = - if NFpacket_id =:= undefined -> PFpacket_id; - true -> NFpacket_id - end, - body = - case {PFbody, NFbody} of - {{auth_request, OPFbody}, {auth_request, ONFbody}} -> {auth_request, merge_msg_AuthRequest(OPFbody, ONFbody, TrUserData)}; - {{jsonrpc_request, OPFbody}, {jsonrpc_request, ONFbody}} -> {jsonrpc_request, merge_msg_JsonRpcRequest(OPFbody, ONFbody, TrUserData)}; - {_, undefined} -> PFbody; - _ -> NFbody - end}. - --compile({nowarn_unused_function,merge_msg_ResponseFrame/3}). -merge_msg_ResponseFrame(#'ResponseFrame'{packet_id = PFpacket_id, body = PFbody}, #'ResponseFrame'{packet_id = NFpacket_id, body = NFbody}, TrUserData) -> - #'ResponseFrame'{packet_id = - if NFpacket_id =:= undefined -> PFpacket_id; - true -> NFpacket_id - end, - body = - case {PFbody, NFbody} of - {{auth_reply, OPFbody}, {auth_reply, ONFbody}} -> {auth_reply, merge_msg_AuthReply(OPFbody, ONFbody, TrUserData)}; - {{jsonrpc_reply, OPFbody}, {jsonrpc_reply, ONFbody}} -> {jsonrpc_reply, merge_msg_JsonRpcReply(OPFbody, ONFbody, TrUserData)}; - {_, undefined} -> PFbody; - _ -> NFbody - end}. - --compile({nowarn_unused_function,merge_msg_CastFrame/3}). -merge_msg_CastFrame(#'CastFrame'{body = PFbody}, #'CastFrame'{body = NFbody}, TrUserData) -> - #'CastFrame'{body = - case {PFbody, NFbody} of - {{pub, OPFbody}, {pub, ONFbody}} -> {pub, merge_msg_Pub(OPFbody, ONFbody, TrUserData)}; - {{command, OPFbody}, {command, ONFbody}} -> {command, merge_msg_Command(OPFbody, ONFbody, TrUserData)}; - {{data, OPFbody}, {data, ONFbody}} -> {data, merge_msg_Data(OPFbody, ONFbody, TrUserData)}; - {{event_stream, OPFbody}, {event_stream, ONFbody}} -> {event_stream, merge_msg_TaskEventStream(OPFbody, ONFbody, TrUserData)}; - {_, undefined} -> PFbody; - _ -> NFbody - end}. +-compile({nowarn_unused_function,merge_msg_RpcReply/3}). +merge_msg_RpcReply(#'RpcReply'{body = PFbody}, #'RpcReply'{body = NFbody}, _) -> + #'RpcReply'{body = + if NFbody =:= undefined -> PFbody; + true -> NFbody + end}. -compile({nowarn_unused_function,merge_msg_Data/3}). merge_msg_Data(#'Data'{route_key = PFroute_key, metric = PFmetric}, #'Data'{route_key = NFroute_key, metric = NFmetric}, _) -> @@ -1534,21 +1517,65 @@ verify_msg(X, _Opts) -> mk_type_error(not_a_known_message, X, []). verify_msg(Msg, MsgName, Opts) -> TrUserData = proplists:get_value(user_data, Opts), case MsgName of + 'RequestFrame' -> v_msg_RequestFrame(Msg, [MsgName], TrUserData); + 'ResponseFrame' -> v_msg_ResponseFrame(Msg, [MsgName], TrUserData); + 'CastFrame' -> v_msg_CastFrame(Msg, [MsgName], TrUserData); 'AuthRequest' -> v_msg_AuthRequest(Msg, [MsgName], TrUserData); 'AuthReply' -> v_msg_AuthReply(Msg, [MsgName], TrUserData); 'Pub' -> v_msg_Pub(Msg, [MsgName], TrUserData); 'Command' -> v_msg_Command(Msg, [MsgName], TrUserData); - 'JsonRpcRequest' -> v_msg_JsonRpcRequest(Msg, [MsgName], TrUserData); - 'JsonRpcReply' -> v_msg_JsonRpcReply(Msg, [MsgName], TrUserData); - 'RequestFrame' -> v_msg_RequestFrame(Msg, [MsgName], TrUserData); - 'ResponseFrame' -> v_msg_ResponseFrame(Msg, [MsgName], TrUserData); - 'CastFrame' -> v_msg_CastFrame(Msg, [MsgName], TrUserData); + 'RpcRequest' -> v_msg_RpcRequest(Msg, [MsgName], TrUserData); + 'RpcReply' -> v_msg_RpcReply(Msg, [MsgName], TrUserData); 'Data' -> v_msg_Data(Msg, [MsgName], TrUserData); 'TaskEventStream' -> v_msg_TaskEventStream(Msg, [MsgName], TrUserData); _ -> mk_type_error(not_a_known_message, Msg, []) end. +-compile({nowarn_unused_function,v_msg_RequestFrame/3}). +-dialyzer({nowarn_function,v_msg_RequestFrame/3}). +v_msg_RequestFrame(#'RequestFrame'{packet_id = F1, body = F2}, Path, TrUserData) -> + if F1 == undefined -> ok; + true -> v_type_uint32(F1, [packet_id | Path], TrUserData) + end, + case F2 of + undefined -> ok; + {auth_request, OF2} -> v_submsg_AuthRequest(OF2, [auth_request, body | Path], TrUserData); + {rpc_request, OF2} -> v_submsg_RpcRequest(OF2, [rpc_request, body | Path], TrUserData); + _ -> mk_type_error(invalid_oneof, F2, [body | Path]) + end, + ok; +v_msg_RequestFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'RequestFrame'}, X, Path). + +-compile({nowarn_unused_function,v_msg_ResponseFrame/3}). +-dialyzer({nowarn_function,v_msg_ResponseFrame/3}). +v_msg_ResponseFrame(#'ResponseFrame'{packet_id = F1, body = F2}, Path, TrUserData) -> + if F1 == undefined -> ok; + true -> v_type_uint32(F1, [packet_id | Path], TrUserData) + end, + case F2 of + undefined -> ok; + {auth_reply, OF2} -> v_submsg_AuthReply(OF2, [auth_reply, body | Path], TrUserData); + {rpc_reply, OF2} -> v_submsg_RpcReply(OF2, [rpc_reply, body | Path], TrUserData); + _ -> mk_type_error(invalid_oneof, F2, [body | Path]) + end, + ok; +v_msg_ResponseFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'ResponseFrame'}, X, Path). + +-compile({nowarn_unused_function,v_msg_CastFrame/3}). +-dialyzer({nowarn_function,v_msg_CastFrame/3}). +v_msg_CastFrame(#'CastFrame'{body = F1}, Path, TrUserData) -> + case F1 of + undefined -> ok; + {pub, OF1} -> v_submsg_Pub(OF1, [pub, body | Path], TrUserData); + {command, OF1} -> v_submsg_Command(OF1, [command, body | Path], TrUserData); + {data, OF1} -> v_submsg_Data(OF1, [data, body | Path], TrUserData); + {event_stream, OF1} -> v_submsg_TaskEventStream(OF1, [event_stream, body | Path], TrUserData); + _ -> mk_type_error(invalid_oneof, F1, [body | Path]) + end, + ok; +v_msg_CastFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'CastFrame'}, X, Path). + -compile({nowarn_unused_function,v_submsg_AuthRequest/3}). -dialyzer({nowarn_function,v_submsg_AuthRequest/3}). v_submsg_AuthRequest(Msg, Path, TrUserData) -> v_msg_AuthRequest(Msg, Path, TrUserData). @@ -1625,13 +1652,13 @@ v_msg_Command(#'Command'{command_type = F1, command = F2}, Path, TrUserData) -> ok; v_msg_Command(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'Command'}, X, Path). --compile({nowarn_unused_function,v_submsg_JsonRpcRequest/3}). --dialyzer({nowarn_function,v_submsg_JsonRpcRequest/3}). -v_submsg_JsonRpcRequest(Msg, Path, TrUserData) -> v_msg_JsonRpcRequest(Msg, Path, TrUserData). +-compile({nowarn_unused_function,v_submsg_RpcRequest/3}). +-dialyzer({nowarn_function,v_submsg_RpcRequest/3}). +v_submsg_RpcRequest(Msg, Path, TrUserData) -> v_msg_RpcRequest(Msg, Path, TrUserData). --compile({nowarn_unused_function,v_msg_JsonRpcRequest/3}). --dialyzer({nowarn_function,v_msg_JsonRpcRequest/3}). -v_msg_JsonRpcRequest(#'JsonRpcRequest'{method = F1, params = F2}, Path, TrUserData) -> +-compile({nowarn_unused_function,v_msg_RpcRequest/3}). +-dialyzer({nowarn_function,v_msg_RpcRequest/3}). +v_msg_RpcRequest(#'RpcRequest'{method = F1, params = F2}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_bytes(F1, [method | Path], TrUserData) end, @@ -1639,67 +1666,23 @@ v_msg_JsonRpcRequest(#'JsonRpcRequest'{method = F1, params = F2}, Path, TrUserDa true -> v_type_bytes(F2, [params | Path], TrUserData) end, ok; -v_msg_JsonRpcRequest(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'JsonRpcRequest'}, X, Path). +v_msg_RpcRequest(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'RpcRequest'}, X, Path). --compile({nowarn_unused_function,v_submsg_JsonRpcReply/3}). --dialyzer({nowarn_function,v_submsg_JsonRpcReply/3}). -v_submsg_JsonRpcReply(Msg, Path, TrUserData) -> v_msg_JsonRpcReply(Msg, Path, TrUserData). +-compile({nowarn_unused_function,v_submsg_RpcReply/3}). +-dialyzer({nowarn_function,v_submsg_RpcReply/3}). +v_submsg_RpcReply(Msg, Path, TrUserData) -> v_msg_RpcReply(Msg, Path, TrUserData). --compile({nowarn_unused_function,v_msg_JsonRpcReply/3}). --dialyzer({nowarn_function,v_msg_JsonRpcReply/3}). -v_msg_JsonRpcReply(#'JsonRpcReply'{result = F1, error = F2}, Path, TrUserData) -> - if F1 == undefined -> ok; - true -> v_type_bytes(F1, [result | Path], TrUserData) - end, - if F2 == undefined -> ok; - true -> v_type_bytes(F2, [error | Path], TrUserData) - end, - ok; -v_msg_JsonRpcReply(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'JsonRpcReply'}, X, Path). - --compile({nowarn_unused_function,v_msg_RequestFrame/3}). --dialyzer({nowarn_function,v_msg_RequestFrame/3}). -v_msg_RequestFrame(#'RequestFrame'{packet_id = F1, body = F2}, Path, TrUserData) -> - if F1 == undefined -> ok; - true -> v_type_uint32(F1, [packet_id | Path], TrUserData) - end, - case F2 of - undefined -> ok; - {auth_request, OF2} -> v_submsg_AuthRequest(OF2, [auth_request, body | Path], TrUserData); - {jsonrpc_request, OF2} -> v_submsg_JsonRpcRequest(OF2, [jsonrpc_request, body | Path], TrUserData); - _ -> mk_type_error(invalid_oneof, F2, [body | Path]) - end, - ok; -v_msg_RequestFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'RequestFrame'}, X, Path). - --compile({nowarn_unused_function,v_msg_ResponseFrame/3}). --dialyzer({nowarn_function,v_msg_ResponseFrame/3}). -v_msg_ResponseFrame(#'ResponseFrame'{packet_id = F1, body = F2}, Path, TrUserData) -> - if F1 == undefined -> ok; - true -> v_type_uint32(F1, [packet_id | Path], TrUserData) - end, - case F2 of - undefined -> ok; - {auth_reply, OF2} -> v_submsg_AuthReply(OF2, [auth_reply, body | Path], TrUserData); - {jsonrpc_reply, OF2} -> v_submsg_JsonRpcReply(OF2, [jsonrpc_reply, body | Path], TrUserData); - _ -> mk_type_error(invalid_oneof, F2, [body | Path]) - end, - ok; -v_msg_ResponseFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'ResponseFrame'}, X, Path). - --compile({nowarn_unused_function,v_msg_CastFrame/3}). --dialyzer({nowarn_function,v_msg_CastFrame/3}). -v_msg_CastFrame(#'CastFrame'{body = F1}, Path, TrUserData) -> +-compile({nowarn_unused_function,v_msg_RpcReply/3}). +-dialyzer({nowarn_function,v_msg_RpcReply/3}). +v_msg_RpcReply(#'RpcReply'{body = F1}, Path, TrUserData) -> case F1 of undefined -> ok; - {pub, OF1} -> v_submsg_Pub(OF1, [pub, body | Path], TrUserData); - {command, OF1} -> v_submsg_Command(OF1, [command, body | Path], TrUserData); - {data, OF1} -> v_submsg_Data(OF1, [data, body | Path], TrUserData); - {event_stream, OF1} -> v_submsg_TaskEventStream(OF1, [event_stream, body | Path], TrUserData); + {result, OF1} -> v_type_bytes(OF1, [result, body | Path], TrUserData); + {error, OF1} -> v_type_bytes(OF1, [error, body | Path], TrUserData); _ -> mk_type_error(invalid_oneof, F1, [body | Path]) end, ok; -v_msg_CastFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'CastFrame'}, X, Path). +v_msg_RpcReply(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'RpcReply'}, X, Path). -compile({nowarn_unused_function,v_submsg_Data/3}). -dialyzer({nowarn_function,v_submsg_Data/3}). @@ -1792,7 +1775,23 @@ cons(Elem, Acc, _TrUserData) -> [Elem | Acc]. get_msg_defs() -> - [{{msg, 'AuthRequest'}, + [{{msg, 'RequestFrame'}, + [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, + #gpb_oneof{name = body, rnum = 3, + fields = [#field{name = auth_request, fnum = 2, rnum = 3, type = {msg, 'AuthRequest'}, occurrence = optional, opts = []}, #field{name = rpc_request, fnum = 3, rnum = 3, type = {msg, 'RpcRequest'}, occurrence = optional, opts = []}], opts = []}]}, + {{msg, 'ResponseFrame'}, + [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, + #gpb_oneof{name = body, rnum = 3, + fields = [#field{name = auth_reply, fnum = 2, rnum = 3, type = {msg, 'AuthReply'}, occurrence = optional, opts = []}, #field{name = rpc_reply, fnum = 3, rnum = 3, type = {msg, 'RpcReply'}, occurrence = optional, opts = []}], opts = []}]}, + {{msg, 'CastFrame'}, + [#gpb_oneof{name = body, rnum = 2, + fields = + [#field{name = pub, fnum = 1, rnum = 2, type = {msg, 'Pub'}, occurrence = optional, opts = []}, + #field{name = command, fnum = 2, rnum = 2, type = {msg, 'Command'}, occurrence = optional, opts = []}, + #field{name = data, fnum = 3, rnum = 2, type = {msg, 'Data'}, occurrence = optional, opts = []}, + #field{name = event_stream, fnum = 4, rnum = 2, type = {msg, 'TaskEventStream'}, occurrence = optional, opts = []}], + opts = []}]}, + {{msg, 'AuthRequest'}, [#field{name = uuid, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = username, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}, #field{name = salt, fnum = 3, rnum = 4, type = bytes, occurrence = optional, opts = []}, @@ -1804,25 +1803,9 @@ get_msg_defs() -> #field{name = qos, fnum = 2, rnum = 3, type = int32, occurrence = optional, opts = []}, #field{name = content, fnum = 3, rnum = 4, type = bytes, occurrence = optional, opts = []}]}, {{msg, 'Command'}, [#field{name = command_type, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []}, #field{name = command, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]}, - {{msg, 'JsonRpcRequest'}, [#field{name = method, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = params, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]}, - {{msg, 'JsonRpcReply'}, [#field{name = result, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = error, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]}, - {{msg, 'RequestFrame'}, - [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #gpb_oneof{name = body, rnum = 3, - fields = [#field{name = auth_request, fnum = 2, rnum = 3, type = {msg, 'AuthRequest'}, occurrence = optional, opts = []}, #field{name = jsonrpc_request, fnum = 3, rnum = 3, type = {msg, 'JsonRpcRequest'}, occurrence = optional, opts = []}], - opts = []}]}, - {{msg, 'ResponseFrame'}, - [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #gpb_oneof{name = body, rnum = 3, - fields = [#field{name = auth_reply, fnum = 2, rnum = 3, type = {msg, 'AuthReply'}, occurrence = optional, opts = []}, #field{name = jsonrpc_reply, fnum = 3, rnum = 3, type = {msg, 'JsonRpcReply'}, occurrence = optional, opts = []}], opts = []}]}, - {{msg, 'CastFrame'}, - [#gpb_oneof{name = body, rnum = 2, - fields = - [#field{name = pub, fnum = 1, rnum = 2, type = {msg, 'Pub'}, occurrence = optional, opts = []}, - #field{name = command, fnum = 2, rnum = 2, type = {msg, 'Command'}, occurrence = optional, opts = []}, - #field{name = data, fnum = 3, rnum = 2, type = {msg, 'Data'}, occurrence = optional, opts = []}, - #field{name = event_stream, fnum = 4, rnum = 2, type = {msg, 'TaskEventStream'}, occurrence = optional, opts = []}], - opts = []}]}, + {{msg, 'RpcRequest'}, [#field{name = method, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = params, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]}, + {{msg, 'RpcReply'}, + [#gpb_oneof{name = body, rnum = 2, fields = [#field{name = result, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = error, fnum = 2, rnum = 2, type = bytes, occurrence = optional, opts = []}], opts = []}]}, {{msg, 'Data'}, [#field{name = route_key, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = metric, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]}, {{msg, 'TaskEventStream'}, [#field{name = task_id, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []}, @@ -1830,13 +1813,13 @@ get_msg_defs() -> #field{name = stream, fnum = 3, rnum = 4, type = bytes, occurrence = optional, opts = []}]}]. -get_msg_names() -> ['AuthRequest', 'AuthReply', 'Pub', 'Command', 'JsonRpcRequest', 'JsonRpcReply', 'RequestFrame', 'ResponseFrame', 'CastFrame', 'Data', 'TaskEventStream']. +get_msg_names() -> ['RequestFrame', 'ResponseFrame', 'CastFrame', 'AuthRequest', 'AuthReply', 'Pub', 'Command', 'RpcRequest', 'RpcReply', 'Data', 'TaskEventStream']. get_group_names() -> []. -get_msg_or_group_names() -> ['AuthRequest', 'AuthReply', 'Pub', 'Command', 'JsonRpcRequest', 'JsonRpcReply', 'RequestFrame', 'ResponseFrame', 'CastFrame', 'Data', 'TaskEventStream']. +get_msg_or_group_names() -> ['RequestFrame', 'ResponseFrame', 'CastFrame', 'AuthRequest', 'AuthReply', 'Pub', 'Command', 'RpcRequest', 'RpcReply', 'Data', 'TaskEventStream']. get_enum_names() -> []. @@ -1853,6 +1836,22 @@ fetch_msg_def(MsgName) -> fetch_enum_def(EnumName) -> erlang:error({no_such_enum, EnumName}). +find_msg_def('RequestFrame') -> + [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, + #gpb_oneof{name = body, rnum = 3, + fields = [#field{name = auth_request, fnum = 2, rnum = 3, type = {msg, 'AuthRequest'}, occurrence = optional, opts = []}, #field{name = rpc_request, fnum = 3, rnum = 3, type = {msg, 'RpcRequest'}, occurrence = optional, opts = []}], opts = []}]; +find_msg_def('ResponseFrame') -> + [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, + #gpb_oneof{name = body, rnum = 3, + fields = [#field{name = auth_reply, fnum = 2, rnum = 3, type = {msg, 'AuthReply'}, occurrence = optional, opts = []}, #field{name = rpc_reply, fnum = 3, rnum = 3, type = {msg, 'RpcReply'}, occurrence = optional, opts = []}], opts = []}]; +find_msg_def('CastFrame') -> + [#gpb_oneof{name = body, rnum = 2, + fields = + [#field{name = pub, fnum = 1, rnum = 2, type = {msg, 'Pub'}, occurrence = optional, opts = []}, + #field{name = command, fnum = 2, rnum = 2, type = {msg, 'Command'}, occurrence = optional, opts = []}, + #field{name = data, fnum = 3, rnum = 2, type = {msg, 'Data'}, occurrence = optional, opts = []}, + #field{name = event_stream, fnum = 4, rnum = 2, type = {msg, 'TaskEventStream'}, occurrence = optional, opts = []}], + opts = []}]; find_msg_def('AuthRequest') -> [#field{name = uuid, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = username, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}, @@ -1865,25 +1864,9 @@ find_msg_def('Pub') -> #field{name = qos, fnum = 2, rnum = 3, type = int32, occurrence = optional, opts = []}, #field{name = content, fnum = 3, rnum = 4, type = bytes, occurrence = optional, opts = []}]; find_msg_def('Command') -> [#field{name = command_type, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []}, #field{name = command, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]; -find_msg_def('JsonRpcRequest') -> [#field{name = method, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = params, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]; -find_msg_def('JsonRpcReply') -> [#field{name = result, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = error, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]; -find_msg_def('RequestFrame') -> - [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #gpb_oneof{name = body, rnum = 3, - fields = [#field{name = auth_request, fnum = 2, rnum = 3, type = {msg, 'AuthRequest'}, occurrence = optional, opts = []}, #field{name = jsonrpc_request, fnum = 3, rnum = 3, type = {msg, 'JsonRpcRequest'}, occurrence = optional, opts = []}], - opts = []}]; -find_msg_def('ResponseFrame') -> - [#field{name = packet_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #gpb_oneof{name = body, rnum = 3, - fields = [#field{name = auth_reply, fnum = 2, rnum = 3, type = {msg, 'AuthReply'}, occurrence = optional, opts = []}, #field{name = jsonrpc_reply, fnum = 3, rnum = 3, type = {msg, 'JsonRpcReply'}, occurrence = optional, opts = []}], opts = []}]; -find_msg_def('CastFrame') -> - [#gpb_oneof{name = body, rnum = 2, - fields = - [#field{name = pub, fnum = 1, rnum = 2, type = {msg, 'Pub'}, occurrence = optional, opts = []}, - #field{name = command, fnum = 2, rnum = 2, type = {msg, 'Command'}, occurrence = optional, opts = []}, - #field{name = data, fnum = 3, rnum = 2, type = {msg, 'Data'}, occurrence = optional, opts = []}, - #field{name = event_stream, fnum = 4, rnum = 2, type = {msg, 'TaskEventStream'}, occurrence = optional, opts = []}], - opts = []}]; +find_msg_def('RpcRequest') -> [#field{name = method, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = params, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]; +find_msg_def('RpcReply') -> + [#gpb_oneof{name = body, rnum = 2, fields = [#field{name = result, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = error, fnum = 2, rnum = 2, type = bytes, occurrence = optional, opts = []}], opts = []}]; find_msg_def('Data') -> [#field{name = route_key, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []}, #field{name = metric, fnum = 2, rnum = 3, type = bytes, occurrence = optional, opts = []}]; find_msg_def('TaskEventStream') -> [#field{name = task_id, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []}, @@ -1947,29 +1930,29 @@ fqbins_to_service_and_rpc_name(S, R) -> error({gpb_error, {badservice_or_rpc, {S service_and_rpc_name_to_fqbins(S, R) -> error({gpb_error, {badservice_or_rpc, {S, R}}}). +fqbin_to_msg_name(<<"RequestFrame">>) -> 'RequestFrame'; +fqbin_to_msg_name(<<"ResponseFrame">>) -> 'ResponseFrame'; +fqbin_to_msg_name(<<"CastFrame">>) -> 'CastFrame'; fqbin_to_msg_name(<<"AuthRequest">>) -> 'AuthRequest'; fqbin_to_msg_name(<<"AuthReply">>) -> 'AuthReply'; fqbin_to_msg_name(<<"Pub">>) -> 'Pub'; fqbin_to_msg_name(<<"Command">>) -> 'Command'; -fqbin_to_msg_name(<<"JsonRpcRequest">>) -> 'JsonRpcRequest'; -fqbin_to_msg_name(<<"JsonRpcReply">>) -> 'JsonRpcReply'; -fqbin_to_msg_name(<<"RequestFrame">>) -> 'RequestFrame'; -fqbin_to_msg_name(<<"ResponseFrame">>) -> 'ResponseFrame'; -fqbin_to_msg_name(<<"CastFrame">>) -> 'CastFrame'; +fqbin_to_msg_name(<<"RpcRequest">>) -> 'RpcRequest'; +fqbin_to_msg_name(<<"RpcReply">>) -> 'RpcReply'; fqbin_to_msg_name(<<"Data">>) -> 'Data'; fqbin_to_msg_name(<<"TaskEventStream">>) -> 'TaskEventStream'; fqbin_to_msg_name(E) -> error({gpb_error, {badmsg, E}}). +msg_name_to_fqbin('RequestFrame') -> <<"RequestFrame">>; +msg_name_to_fqbin('ResponseFrame') -> <<"ResponseFrame">>; +msg_name_to_fqbin('CastFrame') -> <<"CastFrame">>; msg_name_to_fqbin('AuthRequest') -> <<"AuthRequest">>; msg_name_to_fqbin('AuthReply') -> <<"AuthReply">>; msg_name_to_fqbin('Pub') -> <<"Pub">>; msg_name_to_fqbin('Command') -> <<"Command">>; -msg_name_to_fqbin('JsonRpcRequest') -> <<"JsonRpcRequest">>; -msg_name_to_fqbin('JsonRpcReply') -> <<"JsonRpcReply">>; -msg_name_to_fqbin('RequestFrame') -> <<"RequestFrame">>; -msg_name_to_fqbin('ResponseFrame') -> <<"ResponseFrame">>; -msg_name_to_fqbin('CastFrame') -> <<"CastFrame">>; +msg_name_to_fqbin('RpcRequest') -> <<"RpcRequest">>; +msg_name_to_fqbin('RpcReply') -> <<"RpcReply">>; msg_name_to_fqbin('Data') -> <<"Data">>; msg_name_to_fqbin('TaskEventStream') -> <<"TaskEventStream">>; msg_name_to_fqbin(E) -> error({gpb_error, {badmsg, E}}). @@ -2010,7 +1993,7 @@ get_all_source_basenames() -> ["message.proto"]. get_all_proto_names() -> ["message"]. -get_msg_containment("message") -> ['AuthReply', 'AuthRequest', 'CastFrame', 'Command', 'Data', 'JsonRpcReply', 'JsonRpcRequest', 'Pub', 'RequestFrame', 'ResponseFrame', 'TaskEventStream']; +get_msg_containment("message") -> ['AuthReply', 'AuthRequest', 'CastFrame', 'Command', 'Data', 'Pub', 'RequestFrame', 'ResponseFrame', 'RpcReply', 'RpcRequest', 'TaskEventStream']; get_msg_containment(P) -> error({gpb_error, {badproto, P}}). @@ -2032,13 +2015,13 @@ get_enum_containment(P) -> error({gpb_error, {badproto, P}}). get_proto_by_msg_name_as_fqbin(<<"Data">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"Pub">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"JsonRpcRequest">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"RpcRequest">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"Command">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"AuthRequest">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"ResponseFrame">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"RequestFrame">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"CastFrame">>) -> "message"; -get_proto_by_msg_name_as_fqbin(<<"JsonRpcReply">>) -> "message"; +get_proto_by_msg_name_as_fqbin(<<"RpcReply">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"AuthReply">>) -> "message"; get_proto_by_msg_name_as_fqbin(<<"TaskEventStream">>) -> "message"; get_proto_by_msg_name_as_fqbin(E) -> error({gpb_error, {badmsg, E}}). diff --git a/src/transport/tcp/tcp_channel.erl b/src/transport/tcp/tcp_channel.erl index 840a936..a3f5f63 100644 --- a/src/transport/tcp/tcp_channel.erl +++ b/src/transport/tcp/tcp_channel.erl @@ -118,7 +118,7 @@ handle_cast({jsonrpc_call, ReceiverPid, Ref, {Method, Params}}, State = #state{t {ok, NPacketId, NextPacketId} -> Encoded = message_pb:encode_msg(#'RequestFrame'{ packet_id = NPacketId, - body = {jsonrpc_request, #'JsonRpcRequest'{method = Method, params = Params}} + body = {rpc_request, #'RpcRequest'{method = Method, params = Params}} }), TimerRef = erlang:start_timer(?INFLIGHT_TIMEOUT, self(), {jsonrpc_timeout, NPacketId}), Transport:send(Socket, <>), @@ -267,8 +267,8 @@ handle_request_frame(#'RequestFrame'{packet_id = PacketId, logger:warning("[ws_channel] uuid: ~p, user: ~p, auth failed", [UUID, Username]), {stop, State} end; -handle_request_frame(#'RequestFrame'{packet_id = PacketId, body = {jsonrpc_request, RpcRequest}}, _Transport, _Socket, State) -> - logger:warning("[ws_channel] unsupported request message type: jsonrpc_request, packet_id: ~p, request: ~p", [PacketId, RpcRequest]), +handle_request_frame(#'RequestFrame'{packet_id = PacketId, body = {rpc_request, RpcRequest}}, _Transport, _Socket, State) -> + logger:warning("[ws_channel] unsupported request message type: rpc_request, packet_id: ~p, request: ~p", [PacketId, RpcRequest]), {stop, State}; handle_request_frame(#'RequestFrame'{packet_id = PacketId, body = undefined}, _Transport, _Socket, State) -> logger:warning("[ws_channel] empty request frame, packet_id: ~p", [PacketId]), @@ -295,19 +295,19 @@ handle_event_stream_frame(#'TaskEventStream'{task_id = TaskId, type = Type, stre -spec handle_response_frame(message_pb:'ResponseFrame'(), map(), #state{}) -> {noreply, #state{}}. -handle_response_frame(#'ResponseFrame'{packet_id = PacketId, body = {jsonrpc_reply, RpcReply}}, Inflight, State) +handle_response_frame(#'ResponseFrame'{packet_id = PacketId, body = {rpc_reply, RpcReply}}, Inflight, State) when PacketId > 0 -> case maps:take(PacketId, Inflight) of error -> {noreply, State}; - {#inflight_request{receiver_pid = ReceiverPid, ref = Ref, timer_ref = TimerRef}, NInflight} -> - erlang:cancel_timer(TimerRef), - case is_pid(ReceiverPid) andalso is_process_alive(ReceiverPid) of - true -> - ReceiverPid ! {jsonrpc_reply, Ref, RpcReply}; - false -> - logger:warning("[ws_channel] get async_call_reply message: ~p, packet_id: ~p, but receiver_pid is deaded", [RpcReply, PacketId]) - end, + {#inflight_request{receiver_pid = ReceiverPid, ref = Ref, timer_ref = TimerRef}, NInflight} -> + erlang:cancel_timer(TimerRef), + case is_pid(ReceiverPid) andalso is_process_alive(ReceiverPid) of + true -> + ReceiverPid ! {rpc_reply, Ref, RpcReply}; + false -> + logger:warning("[ws_channel] get async_call_reply message: ~p, packet_id: ~p, but receiver_pid is deaded", [RpcReply, PacketId]) + end, {noreply, State#state{inflight = NInflight}} end; handle_response_frame(#'ResponseFrame'{packet_id = PacketId, body = {auth_reply, AuthReply}}, _Inflight, State) ->