fix command

This commit is contained in:
anlicheng 2026-04-24 15:40:32 +08:00
parent 6c2bcd5f8b
commit 611b325cd4
6 changed files with 213 additions and 125 deletions

View File

@ -55,8 +55,14 @@
-ifndef('CASTFRAME.COMMAND_PB_H').
-define('CASTFRAME.COMMAND_PB_H', true).
-record('CastFrame.Command',
{command_type = 0 :: integer() | undefined, % = 1, optional, 32 bits
command = <<>> :: iodata() | undefined % = 2, optional
{command :: {auth, message_pb:'CastFrame.Command.Authorization'()} | undefined % oneof
}).
-endif.
-ifndef('CASTFRAME.COMMAND.AUTHORIZATION_PB_H').
-define('CASTFRAME.COMMAND.AUTHORIZATION_PB_H', true).
-record('CastFrame.Command.Authorization',
{cmd = 'DEACTIVATE' :: 'DEACTIVATE' | 'ACTIVATE' | integer() | undefined % = 1, optional, enum CastFrame.Command.Authorization.CommandType
}).
-endif.

View File

@ -14,7 +14,3 @@
-define(FRAME_REQUEST, 16#01).
-define(FRAME_REPLY, 16#02).
-define(FRAME_CAST, 16#03).
%%%% ,
%%
-define(COMMAND_AUTH, 16#08).

View File

@ -266,7 +266,10 @@ handle_event({call, From}, {activate, true}, _, State = #state{uuid = UUID, chan
case is_pid(ChannelPid) of
true ->
logger:debug("[iot_host] uuid: ~p, activate: true", [UUID]),
ssl_channel:command(ChannelPid, ?COMMAND_AUTH, <<1:8>>);
Command = #'CastFrame.Command'{
command = {auth, #'CastFrame.Command.Authorization'{cmd = 'ACTIVATE'}}
},
ssl_channel:command(ChannelPid, Command);
false ->
logger:debug("[iot_host] uuid: ~p, activate: true, no channel", [UUID])
end,
@ -276,7 +279,10 @@ handle_event({call, From}, {activate, true}, _, State = #state{uuid = UUID, chan
handle_event({call, From}, {activate, false}, _, State = #state{uuid = UUID, channel_pid = ChannelPid}) ->
case is_pid(ChannelPid) of
true ->
ssl_channel:command(ChannelPid, ?COMMAND_AUTH, <<0:8>>),
Command = #'CastFrame.Command' {
command = {auth, #'CastFrame.Command.Authorization'{cmd = 'DEACTIVATE'}}
},
ssl_channel:command(ChannelPid, Command),
logger:debug("[iot_host] uuid: ~p, activate: false", [UUID]),
ssl_channel:stop(ChannelPid, closed);
false ->

View File

@ -10,8 +10,8 @@
-author("licheng5").
%% API
-export([timestamp/0, number_format/2, current_time/0, timestamp_of_seconds/0, float_to_binary/2, int_format/2, file_uri/1]).
-export([step/3, chunks/2, rand_bytes/1, uuid/0, md5/1, parse_mapper/1]).
-export([timestamp/0, number_format/2, current_time/0, timestamp_of_seconds/0, float_to_binary/2, int_format/2]).
-export([step/3, rand_bytes/1, uuid/0, md5/1, parse_mapper/1]).
-export([json_data/1, json_error/2, is_json/1]).
-export([queue_limited_in/3, assert_call/2, assert/2]).
-export([sha256/1]).
@ -61,21 +61,6 @@ step(Start, End, Step, Acc) when Start < End ->
step(_, _, _, Acc) ->
lists:reverse(Acc).
%%
-spec chunks(list(), integer()) -> [list()].
chunks(List, Size) when is_list(List), is_integer(Size), Size > 0, length(List) =< Size ->
[List];
chunks(List, Size) when is_list(List), is_integer(Size), Size > 0 ->
chunks0(List, Size, Size, [], []).
chunks0([], _, _, [], AccTarget) ->
lists:reverse(AccTarget);
chunks0([], _, _, Target, AccTarget) ->
lists:reverse([lists:reverse(Target) | AccTarget]);
chunks0(List, Size, 0, Target, AccTarget) ->
chunks0(List, Size, Size, [], [lists:reverse(Target) | AccTarget]);
chunks0([Hd | Tail], Size, Num, Target, AccTarget) ->
chunks0(Tail, Size, Num - 1, [Hd | Target], AccTarget).
json_data(Data) ->
iolist_to_binary(json:encode(#{
<<"result">> => Data
@ -158,13 +143,3 @@ assert(false, F) when is_function(F) ->
F();
assert(false, Msg) ->
throw(Msg).
-spec file_uri(Filename :: binary()) -> error | {ok, FileUri :: binary()}.
file_uri(Filename) when is_binary(Filename) ->
case binary:split(Filename, <<"-">>, [global]) of
[Year, Month, Day | _] ->
{ok, <<"https://lgsiot.njau.edu.cn/upload/", Year/binary, $/, Month/binary, $/, Day/binary, $/, Filename/binary>>};
_ ->
error
end.

View File

@ -17,6 +17,7 @@
-export([find_msg_def/1, fetch_msg_def/1]).
-export([find_enum_def/1, fetch_enum_def/1]).
-export([enum_symbol_by_value/2, enum_value_by_symbol/2]).
-export(['enum_symbol_by_value_CastFrame.Command.Authorization.CommandType'/1, 'enum_value_by_symbol_CastFrame.Command.Authorization.CommandType'/1]).
-export([get_service_names/0]).
-export([get_service_def/1]).
-export([get_rpc_names/1]).
@ -50,8 +51,8 @@
-include_lib("gpb/include/gpb.hrl").
%% enumerated types
-export_type([]).
-type 'CastFrame.Command.Authorization.CommandType'() :: 'DEACTIVATE' | 'ACTIVATE'.
-export_type(['CastFrame.Command.Authorization.CommandType'/0]).
%% message types
-type 'RequestFrame'() :: #'RequestFrame'{}.
@ -66,6 +67,8 @@
-type 'CastFrame.Command'() :: #'CastFrame.Command'{}.
-type 'CastFrame.Command.Authorization'() :: #'CastFrame.Command.Authorization'{}.
-type 'CastFrame.Data'() :: #'CastFrame.Data'{}.
-type 'CastFrame.TaskEvent'() :: #'CastFrame.TaskEvent'{}.
@ -112,9 +115,9 @@
-type 'Ulimit'() :: #'Ulimit'{}.
-export_type(['RequestFrame'/0, 'AuthRequest'/0, 'ReplyFrame.Error'/0, 'ReplyFrame'/0, 'CastFrame.Pub'/0, 'CastFrame.Command'/0, 'CastFrame.Data'/0, 'CastFrame.TaskEvent'/0, 'CastFrame'/0, 'ContainerRef'/0, 'ContainerRequest.List'/0, 'ContainerRequest.Deploy'/0, 'ContainerRequest.Start'/0, 'ContainerRequest.Stop'/0, 'ContainerRequest.Kill'/0, 'ContainerRequest.Remove'/0, 'ContainerRequest.Config'/0, 'ContainerRequest'/0, 'ContainerDeployParams'/0, 'DockerCreateOptions'/0, 'DockerContainerConfig'/0, 'DockerHostConfig'/0, 'DockerNetworkingConfig'/0, 'DockerNetworkEndpoint'/0, 'DockerExposedPort'/0, 'Healthcheck'/0, 'RestartPolicy'/0, 'DeviceMapping'/0, 'Ulimit'/0]).
-type '$msg_name'() :: 'RequestFrame' | 'AuthRequest' | 'ReplyFrame.Error' | 'ReplyFrame' | 'CastFrame.Pub' | 'CastFrame.Command' | 'CastFrame.Data' | 'CastFrame.TaskEvent' | 'CastFrame' | 'ContainerRef' | 'ContainerRequest.List' | 'ContainerRequest.Deploy' | 'ContainerRequest.Start' | 'ContainerRequest.Stop' | 'ContainerRequest.Kill' | 'ContainerRequest.Remove' | 'ContainerRequest.Config' | 'ContainerRequest' | 'ContainerDeployParams' | 'DockerCreateOptions' | 'DockerContainerConfig' | 'DockerHostConfig' | 'DockerNetworkingConfig' | 'DockerNetworkEndpoint' | 'DockerExposedPort' | 'Healthcheck' | 'RestartPolicy' | 'DeviceMapping' | 'Ulimit'.
-type '$msg'() :: 'RequestFrame'() | 'AuthRequest'() | 'ReplyFrame.Error'() | 'ReplyFrame'() | 'CastFrame.Pub'() | 'CastFrame.Command'() | 'CastFrame.Data'() | 'CastFrame.TaskEvent'() | 'CastFrame'() | 'ContainerRef'() | 'ContainerRequest.List'() | 'ContainerRequest.Deploy'() | 'ContainerRequest.Start'() | 'ContainerRequest.Stop'() | 'ContainerRequest.Kill'() | 'ContainerRequest.Remove'() | 'ContainerRequest.Config'() | 'ContainerRequest'() | 'ContainerDeployParams'() | 'DockerCreateOptions'() | 'DockerContainerConfig'() | 'DockerHostConfig'() | 'DockerNetworkingConfig'() | 'DockerNetworkEndpoint'() | 'DockerExposedPort'() | 'Healthcheck'() | 'RestartPolicy'() | 'DeviceMapping'() | 'Ulimit'().
-export_type(['RequestFrame'/0, 'AuthRequest'/0, 'ReplyFrame.Error'/0, 'ReplyFrame'/0, 'CastFrame.Pub'/0, 'CastFrame.Command'/0, 'CastFrame.Command.Authorization'/0, 'CastFrame.Data'/0, 'CastFrame.TaskEvent'/0, 'CastFrame'/0, 'ContainerRef'/0, 'ContainerRequest.List'/0, 'ContainerRequest.Deploy'/0, 'ContainerRequest.Start'/0, 'ContainerRequest.Stop'/0, 'ContainerRequest.Kill'/0, 'ContainerRequest.Remove'/0, 'ContainerRequest.Config'/0, 'ContainerRequest'/0, 'ContainerDeployParams'/0, 'DockerCreateOptions'/0, 'DockerContainerConfig'/0, 'DockerHostConfig'/0, 'DockerNetworkingConfig'/0, 'DockerNetworkEndpoint'/0, 'DockerExposedPort'/0, 'Healthcheck'/0, 'RestartPolicy'/0, 'DeviceMapping'/0, 'Ulimit'/0]).
-type '$msg_name'() :: 'RequestFrame' | 'AuthRequest' | 'ReplyFrame.Error' | 'ReplyFrame' | 'CastFrame.Pub' | 'CastFrame.Command' | 'CastFrame.Command.Authorization' | 'CastFrame.Data' | 'CastFrame.TaskEvent' | 'CastFrame' | 'ContainerRef' | 'ContainerRequest.List' | 'ContainerRequest.Deploy' | 'ContainerRequest.Start' | 'ContainerRequest.Stop' | 'ContainerRequest.Kill' | 'ContainerRequest.Remove' | 'ContainerRequest.Config' | 'ContainerRequest' | 'ContainerDeployParams' | 'DockerCreateOptions' | 'DockerContainerConfig' | 'DockerHostConfig' | 'DockerNetworkingConfig' | 'DockerNetworkEndpoint' | 'DockerExposedPort' | 'Healthcheck' | 'RestartPolicy' | 'DeviceMapping' | 'Ulimit'.
-type '$msg'() :: 'RequestFrame'() | 'AuthRequest'() | 'ReplyFrame.Error'() | 'ReplyFrame'() | 'CastFrame.Pub'() | 'CastFrame.Command'() | 'CastFrame.Command.Authorization'() | 'CastFrame.Data'() | 'CastFrame.TaskEvent'() | 'CastFrame'() | 'ContainerRef'() | 'ContainerRequest.List'() | 'ContainerRequest.Deploy'() | 'ContainerRequest.Start'() | 'ContainerRequest.Stop'() | 'ContainerRequest.Kill'() | 'ContainerRequest.Remove'() | 'ContainerRequest.Config'() | 'ContainerRequest'() | 'ContainerDeployParams'() | 'DockerCreateOptions'() | 'DockerContainerConfig'() | 'DockerHostConfig'() | 'DockerNetworkingConfig'() | 'DockerNetworkEndpoint'() | 'DockerExposedPort'() | 'Healthcheck'() | 'RestartPolicy'() | 'DeviceMapping'() | 'Ulimit'().
-export_type(['$msg_name'/0, '$msg'/0]).
-record('map<string,string>',{key, value}).
@ -148,6 +151,7 @@ encode_msg(Msg, MsgName, Opts) ->
'ReplyFrame' -> encode_msg_ReplyFrame(id(Msg, TrUserData), TrUserData);
'CastFrame.Pub' -> 'encode_msg_CastFrame.Pub'(id(Msg, TrUserData), TrUserData);
'CastFrame.Command' -> 'encode_msg_CastFrame.Command'(id(Msg, TrUserData), TrUserData);
'CastFrame.Command.Authorization' -> 'encode_msg_CastFrame.Command.Authorization'(id(Msg, TrUserData), TrUserData);
'CastFrame.Data' -> 'encode_msg_CastFrame.Data'(id(Msg, TrUserData), TrUserData);
'CastFrame.TaskEvent' -> 'encode_msg_CastFrame.TaskEvent'(id(Msg, TrUserData), TrUserData);
'CastFrame' -> encode_msg_CastFrame(id(Msg, TrUserData), TrUserData);
@ -331,23 +335,21 @@ encode_msg_ReplyFrame(#'ReplyFrame'{packet_id = F1, reply = F2}, Bin, TrUserData
'encode_msg_CastFrame.Command'(Msg, TrUserData) -> 'encode_msg_CastFrame.Command'(Msg, <<>>, TrUserData).
'encode_msg_CastFrame.Command'(#'CastFrame.Command'{command_type = F1, command = F2}, Bin, TrUserData) ->
B1 = if F1 == undefined -> Bin;
true ->
begin
TrF1 = id(F1, TrUserData),
if TrF1 =:= 0 -> Bin;
true -> e_type_int32(TrF1, <<Bin/binary, 8>>, TrUserData)
end
end
end,
if F2 == undefined -> B1;
'encode_msg_CastFrame.Command'(#'CastFrame.Command'{command = F1}, Bin, TrUserData) ->
if F1 =:= undefined -> Bin;
true -> case id(F1, TrUserData) of {auth, TF1} -> begin TrTF1 = id(TF1, TrUserData), 'e_mfield_CastFrame.Command_auth'(TrTF1, <<Bin/binary, 10>>, TrUserData) end end
end.
'encode_msg_CastFrame.Command.Authorization'(Msg, TrUserData) -> 'encode_msg_CastFrame.Command.Authorization'(Msg, <<>>, TrUserData).
'encode_msg_CastFrame.Command.Authorization'(#'CastFrame.Command.Authorization'{cmd = F1}, Bin, TrUserData) ->
if F1 == undefined -> Bin;
true ->
begin
TrF2 = id(F2, TrUserData),
case iolist_size(TrF2) of
0 -> B1;
_ -> e_type_bytes(TrF2, <<B1/binary, 18>>, TrUserData)
TrF1 = id(F1, TrUserData),
if TrF1 =:= 'DEACTIVATE'; TrF1 =:= 0 -> Bin;
true -> 'e_enum_CastFrame.Command.Authorization.CommandType'(TrF1, <<Bin/binary, 8>>, TrUserData)
end
end
end.
@ -1091,6 +1093,11 @@ e_mfield_ReplyFrame_error(Msg, Bin, TrUserData) ->
Bin2 = e_varint(byte_size(SubBin), Bin),
<<Bin2/binary, SubBin/binary>>.
'e_mfield_CastFrame.Command_auth'(Msg, Bin, TrUserData) ->
SubBin = 'encode_msg_CastFrame.Command.Authorization'(Msg, <<>>, TrUserData),
Bin2 = e_varint(byte_size(SubBin), Bin),
<<Bin2/binary, SubBin/binary>>.
e_mfield_CastFrame_pub(Msg, Bin, TrUserData) ->
SubBin = 'encode_msg_CastFrame.Pub'(Msg, <<>>, TrUserData),
Bin2 = e_varint(byte_size(SubBin), Bin),
@ -1341,6 +1348,10 @@ e_field_Healthcheck_test([], Bin, _TrUserData) -> Bin.
B1 = begin TrF1 = id(F1, TrUserData), e_type_string(TrF1, <<Bin/binary, 10>>, TrUserData) end,
begin TrF2 = id(F2, TrUserData), e_type_string(TrF2, <<B1/binary, 18>>, TrUserData) end.
'e_enum_CastFrame.Command.Authorization.CommandType'('DEACTIVATE', Bin, _TrUserData) -> <<Bin/binary, 0>>;
'e_enum_CastFrame.Command.Authorization.CommandType'('ACTIVATE', Bin, _TrUserData) -> <<Bin/binary, 1>>;
'e_enum_CastFrame.Command.Authorization.CommandType'(V, Bin, _TrUserData) -> e_varint(V, Bin).
-compile({nowarn_unused_function,e_type_sint/3}).
e_type_sint(Value, Bin, _TrUserData) when Value >= 0 -> e_varint(Value * 2, Bin);
e_type_sint(Value, Bin, _TrUserData) -> e_varint(Value * -2 - 1, Bin).
@ -1485,6 +1496,7 @@ decode_msg_2_doit('ReplyFrame.Error', Bin, TrUserData) -> id('decode_msg_ReplyFr
decode_msg_2_doit('ReplyFrame', Bin, TrUserData) -> id(decode_msg_ReplyFrame(Bin, TrUserData), TrUserData);
decode_msg_2_doit('CastFrame.Pub', Bin, TrUserData) -> id('decode_msg_CastFrame.Pub'(Bin, TrUserData), TrUserData);
decode_msg_2_doit('CastFrame.Command', Bin, TrUserData) -> id('decode_msg_CastFrame.Command'(Bin, TrUserData), TrUserData);
decode_msg_2_doit('CastFrame.Command.Authorization', Bin, TrUserData) -> id('decode_msg_CastFrame.Command.Authorization'(Bin, TrUserData), TrUserData);
decode_msg_2_doit('CastFrame.Data', Bin, TrUserData) -> id('decode_msg_CastFrame.Data'(Bin, TrUserData), TrUserData);
decode_msg_2_doit('CastFrame.TaskEvent', Bin, TrUserData) -> id('decode_msg_CastFrame.TaskEvent'(Bin, TrUserData), TrUserData);
decode_msg_2_doit('CastFrame', Bin, TrUserData) -> id(decode_msg_CastFrame(Bin, TrUserData), TrUserData);
@ -1838,56 +1850,102 @@ skip_64_ReplyFrame(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) ->
'skip_64_CastFrame.Pub'(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> 'dfp_read_field_def_CastFrame.Pub'(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
'decode_msg_CastFrame.Command'(Bin, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), TrUserData).
'decode_msg_CastFrame.Command'(Bin, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Bin, 0, 0, 0, id(undefined, TrUserData), TrUserData).
'dfp_read_field_def_CastFrame.Command'(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'd_field_CastFrame.Command_command_type'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData);
'dfp_read_field_def_CastFrame.Command'(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'd_field_CastFrame.Command_command'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData);
'dfp_read_field_def_CastFrame.Command'(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'CastFrame.Command'{command_type = F@_1, command = F@_2};
'dfp_read_field_def_CastFrame.Command'(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'dg_read_field_def_CastFrame.Command'(Other, Z1, Z2, F, F@_1, F@_2, TrUserData).
'dfp_read_field_def_CastFrame.Command'(<<10, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'd_field_CastFrame.Command_auth'(Rest, Z1, Z2, F, F@_1, TrUserData);
'dfp_read_field_def_CastFrame.Command'(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame.Command'{command = F@_1};
'dfp_read_field_def_CastFrame.Command'(Other, Z1, Z2, F, F@_1, TrUserData) -> 'dg_read_field_def_CastFrame.Command'(Other, Z1, Z2, F, F@_1, TrUserData).
'dg_read_field_def_CastFrame.Command'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> 'dg_read_field_def_CastFrame.Command'(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData);
'dg_read_field_def_CastFrame.Command'(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) ->
'dg_read_field_def_CastFrame.Command'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> 'dg_read_field_def_CastFrame.Command'(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData);
'dg_read_field_def_CastFrame.Command'(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) ->
Key = X bsl N + Acc,
case Key of
8 -> 'd_field_CastFrame.Command_command_type'(Rest, 0, 0, 0, F@_1, F@_2, TrUserData);
18 -> 'd_field_CastFrame.Command_command'(Rest, 0, 0, 0, F@_1, F@_2, TrUserData);
10 -> 'd_field_CastFrame.Command_auth'(Rest, 0, 0, 0, F@_1, TrUserData);
_ ->
case Key band 7 of
0 -> 'skip_varint_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData);
1 -> 'skip_64_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData);
2 -> 'skip_length_delimited_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData);
3 -> 'skip_group_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData);
5 -> 'skip_32_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData)
0 -> 'skip_varint_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
1 -> 'skip_64_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
2 -> 'skip_length_delimited_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
3 -> 'skip_group_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
5 -> 'skip_32_CastFrame.Command'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData)
end
end;
'dg_read_field_def_CastFrame.Command'(<<>>, 0, 0, _, F@_1, F@_2, _) -> #'CastFrame.Command'{command_type = F@_1, command = F@_2}.
'dg_read_field_def_CastFrame.Command'(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame.Command'{command = F@_1}.
'd_field_CastFrame.Command_command_type'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> 'd_field_CastFrame.Command_command_type'(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData);
'd_field_CastFrame.Command_command_type'(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) ->
{NewFValue, RestF} = {begin <<Res:32/signed-native>> = <<(X bsl N + Acc):32/unsigned-native>>, id(Res, TrUserData) end, Rest},
'dfp_read_field_def_CastFrame.Command'(RestF, 0, 0, F, NewFValue, F@_2, TrUserData).
'd_field_CastFrame.Command_auth'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> 'd_field_CastFrame.Command_auth'(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData);
'd_field_CastFrame.Command_auth'(<<0:1, X:7, Rest/binary>>, N, Acc, F, Prev, TrUserData) ->
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bs:Len/binary, Rest2/binary>> = Rest, {id('decode_msg_CastFrame.Command.Authorization'(Bs, TrUserData), TrUserData), Rest2} end,
'dfp_read_field_def_CastFrame.Command'(RestF,
0,
0,
F,
case Prev of
undefined -> id({auth, NewFValue}, TrUserData);
{auth, MVPrev} -> id({auth, 'merge_msg_CastFrame.Command.Authorization'(MVPrev, NewFValue, TrUserData)}, TrUserData);
_ -> id({auth, NewFValue}, TrUserData)
end,
TrUserData).
'd_field_CastFrame.Command_command'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> 'd_field_CastFrame.Command_command'(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData);
'd_field_CastFrame.Command_command'(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) ->
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
'dfp_read_field_def_CastFrame.Command'(RestF, 0, 0, F, F@_1, NewFValue, TrUserData).
'skip_varint_CastFrame.Command'(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'skip_varint_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, TrUserData);
'skip_varint_CastFrame.Command'(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, TrUserData).
'skip_varint_CastFrame.Command'(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'skip_varint_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData);
'skip_varint_CastFrame.Command'(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
'skip_length_delimited_CastFrame.Command'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> 'skip_length_delimited_CastFrame.Command'(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData);
'skip_length_delimited_CastFrame.Command'(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) ->
'skip_length_delimited_CastFrame.Command'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> 'skip_length_delimited_CastFrame.Command'(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData);
'skip_length_delimited_CastFrame.Command'(<<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.Command'(Rest2, 0, 0, F, F@_1, F@_2, TrUserData).
'dfp_read_field_def_CastFrame.Command'(Rest2, 0, 0, F, F@_1, TrUserData).
'skip_group_CastFrame.Command'(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) ->
'skip_group_CastFrame.Command'(Bin, _, Z2, FNum, F@_1, TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
'dfp_read_field_def_CastFrame.Command'(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData).
'dfp_read_field_def_CastFrame.Command'(Rest, 0, Z2, FNum, F@_1, TrUserData).
'skip_32_CastFrame.Command'(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
'skip_32_CastFrame.Command'(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, TrUserData).
'skip_64_CastFrame.Command'(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
'skip_64_CastFrame.Command'(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'dfp_read_field_def_CastFrame.Command'(Rest, Z1, Z2, F, F@_1, TrUserData).
'decode_msg_CastFrame.Command.Authorization'(Bin, TrUserData) -> 'dfp_read_field_def_CastFrame.Command.Authorization'(Bin, 0, 0, 0, id('DEACTIVATE', TrUserData), TrUserData).
'dfp_read_field_def_CastFrame.Command.Authorization'(<<8, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'd_field_CastFrame.Command.Authorization_cmd'(Rest, Z1, Z2, F, F@_1, TrUserData);
'dfp_read_field_def_CastFrame.Command.Authorization'(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame.Command.Authorization'{cmd = F@_1};
'dfp_read_field_def_CastFrame.Command.Authorization'(Other, Z1, Z2, F, F@_1, TrUserData) -> 'dg_read_field_def_CastFrame.Command.Authorization'(Other, Z1, Z2, F, F@_1, TrUserData).
'dg_read_field_def_CastFrame.Command.Authorization'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 32 - 7 -> 'dg_read_field_def_CastFrame.Command.Authorization'(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData);
'dg_read_field_def_CastFrame.Command.Authorization'(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, TrUserData) ->
Key = X bsl N + Acc,
case Key of
8 -> 'd_field_CastFrame.Command.Authorization_cmd'(Rest, 0, 0, 0, F@_1, TrUserData);
_ ->
case Key band 7 of
0 -> 'skip_varint_CastFrame.Command.Authorization'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
1 -> 'skip_64_CastFrame.Command.Authorization'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
2 -> 'skip_length_delimited_CastFrame.Command.Authorization'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
3 -> 'skip_group_CastFrame.Command.Authorization'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData);
5 -> 'skip_32_CastFrame.Command.Authorization'(Rest, 0, 0, Key bsr 3, F@_1, TrUserData)
end
end;
'dg_read_field_def_CastFrame.Command.Authorization'(<<>>, 0, 0, _, F@_1, _) -> #'CastFrame.Command.Authorization'{cmd = F@_1}.
'd_field_CastFrame.Command.Authorization_cmd'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> 'd_field_CastFrame.Command.Authorization_cmd'(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData);
'd_field_CastFrame.Command.Authorization_cmd'(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, TrUserData) ->
{NewFValue, RestF} = {id('d_enum_CastFrame.Command.Authorization.CommandType'(begin <<Res:32/signed-native>> = <<(X bsl N + Acc):32/unsigned-native>>, id(Res, TrUserData) end), TrUserData), Rest},
'dfp_read_field_def_CastFrame.Command.Authorization'(RestF, 0, 0, F, NewFValue, TrUserData).
'skip_varint_CastFrame.Command.Authorization'(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'skip_varint_CastFrame.Command.Authorization'(Rest, Z1, Z2, F, F@_1, TrUserData);
'skip_varint_CastFrame.Command.Authorization'(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'dfp_read_field_def_CastFrame.Command.Authorization'(Rest, Z1, Z2, F, F@_1, TrUserData).
'skip_length_delimited_CastFrame.Command.Authorization'(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, TrUserData) when N < 57 -> 'skip_length_delimited_CastFrame.Command.Authorization'(Rest, N + 7, X bsl N + Acc, F, F@_1, TrUserData);
'skip_length_delimited_CastFrame.Command.Authorization'(<<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.Command.Authorization'(Rest2, 0, 0, F, F@_1, TrUserData).
'skip_group_CastFrame.Command.Authorization'(Bin, _, Z2, FNum, F@_1, TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
'dfp_read_field_def_CastFrame.Command.Authorization'(Rest, 0, Z2, FNum, F@_1, TrUserData).
'skip_32_CastFrame.Command.Authorization'(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'dfp_read_field_def_CastFrame.Command.Authorization'(Rest, Z1, Z2, F, F@_1, TrUserData).
'skip_64_CastFrame.Command.Authorization'(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> 'dfp_read_field_def_CastFrame.Command.Authorization'(Rest, Z1, Z2, F, F@_1, TrUserData).
'decode_msg_CastFrame.Data'(Bin, TrUserData) -> 'dfp_read_field_def_CastFrame.Data'(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData).
@ -3677,6 +3735,10 @@ skip_64_Ulimit(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -
'skip_64_map<string,string>'(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> 'dfp_read_field_def_map<string,string>'(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
'd_enum_CastFrame.Command.Authorization.CommandType'(0) -> 'DEACTIVATE';
'd_enum_CastFrame.Command.Authorization.CommandType'(1) -> 'ACTIVATE';
'd_enum_CastFrame.Command.Authorization.CommandType'(V) -> V.
read_group(Bin, FieldNum) ->
{NumBytes, EndTagLen} = read_gr_b(Bin, 0, 0, 0, 0, FieldNum),
<<Group:NumBytes/binary, _:EndTagLen/binary, Rest/binary>> = Bin,
@ -3749,6 +3811,7 @@ merge_msgs(Prev, New, MsgName, Opts) ->
'ReplyFrame' -> merge_msg_ReplyFrame(Prev, New, TrUserData);
'CastFrame.Pub' -> 'merge_msg_CastFrame.Pub'(Prev, New, TrUserData);
'CastFrame.Command' -> 'merge_msg_CastFrame.Command'(Prev, New, TrUserData);
'CastFrame.Command.Authorization' -> 'merge_msg_CastFrame.Command.Authorization'(Prev, New, TrUserData);
'CastFrame.Data' -> 'merge_msg_CastFrame.Data'(Prev, New, TrUserData);
'CastFrame.TaskEvent' -> 'merge_msg_CastFrame.TaskEvent'(Prev, New, TrUserData);
'CastFrame' -> merge_msg_CastFrame(Prev, New, TrUserData);
@ -3851,16 +3914,21 @@ merge_msg_ReplyFrame(#'ReplyFrame'{packet_id = PFpacket_id, reply = PFreply}, #'
end}.
-compile({nowarn_unused_function,'merge_msg_CastFrame.Command'/3}).
'merge_msg_CastFrame.Command'(#'CastFrame.Command'{command_type = PFcommand_type, command = PFcommand}, #'CastFrame.Command'{command_type = NFcommand_type, command = NFcommand}, _) ->
#'CastFrame.Command'{command_type =
if NFcommand_type =:= undefined -> PFcommand_type;
true -> NFcommand_type
end,
command =
if NFcommand =:= undefined -> PFcommand;
true -> NFcommand
'merge_msg_CastFrame.Command'(#'CastFrame.Command'{command = PFcommand}, #'CastFrame.Command'{command = NFcommand}, TrUserData) ->
#'CastFrame.Command'{command =
case {PFcommand, NFcommand} of
{{auth, OPFcommand}, {auth, ONFcommand}} -> {auth, 'merge_msg_CastFrame.Command.Authorization'(OPFcommand, ONFcommand, TrUserData)};
{_, undefined} -> PFcommand;
_ -> NFcommand
end}.
-compile({nowarn_unused_function,'merge_msg_CastFrame.Command.Authorization'/3}).
'merge_msg_CastFrame.Command.Authorization'(#'CastFrame.Command.Authorization'{cmd = PFcmd}, #'CastFrame.Command.Authorization'{cmd = NFcmd}, _) ->
#'CastFrame.Command.Authorization'{cmd =
if NFcmd =:= undefined -> PFcmd;
true -> NFcmd
end}.
-compile({nowarn_unused_function,'merge_msg_CastFrame.Data'/3}).
'merge_msg_CastFrame.Data'(#'CastFrame.Data'{route_key = PFroute_key, metric = PFmetric}, #'CastFrame.Data'{route_key = NFroute_key, metric = NFmetric}, _) ->
#'CastFrame.Data'{route_key =
@ -4280,6 +4348,7 @@ verify_msg(Msg, MsgName, Opts) ->
'ReplyFrame' -> v_msg_ReplyFrame(Msg, [MsgName], TrUserData);
'CastFrame.Pub' -> 'v_msg_CastFrame.Pub'(Msg, [MsgName], TrUserData);
'CastFrame.Command' -> 'v_msg_CastFrame.Command'(Msg, [MsgName], TrUserData);
'CastFrame.Command.Authorization' -> 'v_msg_CastFrame.Command.Authorization'(Msg, [MsgName], TrUserData);
'CastFrame.Data' -> 'v_msg_CastFrame.Data'(Msg, [MsgName], TrUserData);
'CastFrame.TaskEvent' -> 'v_msg_CastFrame.TaskEvent'(Msg, [MsgName], TrUserData);
'CastFrame' -> v_msg_CastFrame(Msg, [MsgName], TrUserData);
@ -4403,16 +4472,28 @@ v_msg_ReplyFrame(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'ReplyFra
-compile({nowarn_unused_function,'v_msg_CastFrame.Command'/3}).
-dialyzer({nowarn_function,'v_msg_CastFrame.Command'/3}).
'v_msg_CastFrame.Command'(#'CastFrame.Command'{command_type = F1, command = F2}, Path, TrUserData) ->
if F1 == undefined -> ok;
true -> v_type_int32(F1, [command_type | Path], TrUserData)
end,
if F2 == undefined -> ok;
true -> v_type_bytes(F2, [command | Path], TrUserData)
'v_msg_CastFrame.Command'(#'CastFrame.Command'{command = F1}, Path, TrUserData) ->
case F1 of
undefined -> ok;
{auth, OF1} -> 'v_submsg_CastFrame.Command.Authorization'(OF1, [auth, command | Path], TrUserData);
_ -> mk_type_error(invalid_oneof, F1, [command | Path])
end,
ok;
'v_msg_CastFrame.Command'(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'CastFrame.Command'}, X, Path).
-compile({nowarn_unused_function,'v_submsg_CastFrame.Command.Authorization'/3}).
-dialyzer({nowarn_function,'v_submsg_CastFrame.Command.Authorization'/3}).
'v_submsg_CastFrame.Command.Authorization'(Msg, Path, TrUserData) -> 'v_msg_CastFrame.Command.Authorization'(Msg, Path, TrUserData).
-compile({nowarn_unused_function,'v_msg_CastFrame.Command.Authorization'/3}).
-dialyzer({nowarn_function,'v_msg_CastFrame.Command.Authorization'/3}).
'v_msg_CastFrame.Command.Authorization'(#'CastFrame.Command.Authorization'{cmd = F1}, Path, TrUserData) ->
if F1 == undefined -> ok;
true -> 'v_enum_CastFrame.Command.Authorization.CommandType'(F1, [cmd | Path], TrUserData)
end,
ok;
'v_msg_CastFrame.Command.Authorization'(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'CastFrame.Command.Authorization'}, X, Path).
-compile({nowarn_unused_function,'v_submsg_CastFrame.Data'/3}).
-dialyzer({nowarn_function,'v_submsg_CastFrame.Data'/3}).
'v_submsg_CastFrame.Data'(Msg, Path, TrUserData) -> 'v_msg_CastFrame.Data'(Msg, Path, TrUserData).
@ -4884,6 +4965,13 @@ v_msg_Ulimit(#'Ulimit'{name = F1, soft = F2, hard = F3}, Path, TrUserData) ->
ok;
v_msg_Ulimit(X, Path, _TrUserData) -> mk_type_error({expected_msg, 'Ulimit'}, X, Path).
-compile({nowarn_unused_function,'v_enum_CastFrame.Command.Authorization.CommandType'/3}).
-dialyzer({nowarn_function,'v_enum_CastFrame.Command.Authorization.CommandType'/3}).
'v_enum_CastFrame.Command.Authorization.CommandType'('DEACTIVATE', _Path, _TrUserData) -> ok;
'v_enum_CastFrame.Command.Authorization.CommandType'('ACTIVATE', _Path, _TrUserData) -> ok;
'v_enum_CastFrame.Command.Authorization.CommandType'(V, _Path, _TrUserData) when -2147483648 =< V, V =< 2147483647, is_integer(V) -> ok;
'v_enum_CastFrame.Command.Authorization.CommandType'(X, Path, _TrUserData) -> mk_type_error({invalid_enum, 'CastFrame.Command.Authorization.CommandType'}, X, Path).
-compile({nowarn_unused_function,v_type_int32/3}).
-dialyzer({nowarn_function,v_type_int32/3}).
v_type_int32(N, _Path, _TrUserData) when is_integer(N), -2147483648 =< N, N =< 2147483647 -> ok;
@ -5045,7 +5133,8 @@ mt_merge_maptuples_r(L1, L2) -> dict:to_list(dict:merge(fun (_Key, _V1, V2) -> V
get_msg_defs() ->
[{{msg, 'RequestFrame'},
[{{enum, 'CastFrame.Command.Authorization.CommandType'}, [{'DEACTIVATE', 0}, {'ACTIVATE', 1}]},
{{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 = 10, rnum = 3, type = {msg, 'AuthRequest'}, occurrence = optional, opts = []}, #field{name = container_request, fnum = 11, rnum = 3, type = {msg, 'ContainerRequest'}, occurrence = optional, opts = []}],
@ -5065,7 +5154,8 @@ get_msg_defs() ->
[#field{name = topic, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []},
#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, 'CastFrame.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, 'CastFrame.Command'}, [#gpb_oneof{name = command, rnum = 2, fields = [#field{name = auth, fnum = 1, rnum = 2, type = {msg, 'CastFrame.Command.Authorization'}, occurrence = optional, opts = []}], opts = []}]},
{{msg, 'CastFrame.Command.Authorization'}, [#field{name = cmd, fnum = 1, rnum = 2, type = {enum, 'CastFrame.Command.Authorization.CommandType'}, occurrence = optional, opts = []}]},
{{msg, 'CastFrame.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, 'CastFrame.TaskEvent'},
[#field{name = task_id, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []},
@ -5163,6 +5253,7 @@ get_msg_names() ->
'ReplyFrame',
'CastFrame.Pub',
'CastFrame.Command',
'CastFrame.Command.Authorization',
'CastFrame.Data',
'CastFrame.TaskEvent',
'CastFrame',
@ -5198,6 +5289,7 @@ get_msg_or_group_names() ->
'ReplyFrame',
'CastFrame.Pub',
'CastFrame.Command',
'CastFrame.Command.Authorization',
'CastFrame.Data',
'CastFrame.TaskEvent',
'CastFrame',
@ -5223,7 +5315,7 @@ get_msg_or_group_names() ->
'Ulimit'].
get_enum_names() -> [].
get_enum_names() -> ['CastFrame.Command.Authorization.CommandType'].
fetch_msg_def(MsgName) ->
@ -5233,8 +5325,11 @@ fetch_msg_def(MsgName) ->
end.
-spec fetch_enum_def(_) -> no_return().
fetch_enum_def(EnumName) -> erlang:error({no_such_enum, EnumName}).
fetch_enum_def(EnumName) ->
case find_enum_def(EnumName) of
Es when is_list(Es) -> Es;
error -> erlang:error({no_such_enum, EnumName})
end.
find_msg_def('RequestFrame') ->
@ -5257,7 +5352,8 @@ find_msg_def('CastFrame.Pub') ->
[#field{name = topic, fnum = 1, rnum = 2, type = bytes, occurrence = optional, opts = []},
#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('CastFrame.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('CastFrame.Command') -> [#gpb_oneof{name = command, rnum = 2, fields = [#field{name = auth, fnum = 1, rnum = 2, type = {msg, 'CastFrame.Command.Authorization'}, occurrence = optional, opts = []}], opts = []}];
find_msg_def('CastFrame.Command.Authorization') -> [#field{name = cmd, fnum = 1, rnum = 2, type = {enum, 'CastFrame.Command.Authorization.CommandType'}, occurrence = optional, opts = []}];
find_msg_def('CastFrame.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('CastFrame.TaskEvent') ->
[#field{name = task_id, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []},
@ -5350,17 +5446,23 @@ find_msg_def('Ulimit') ->
find_msg_def(_) -> error.
find_enum_def('CastFrame.Command.Authorization.CommandType') -> [{'DEACTIVATE', 0}, {'ACTIVATE', 1}];
find_enum_def(_) -> error.
-spec enum_symbol_by_value(_, _) -> no_return().
enum_symbol_by_value(E, V) -> erlang:error({no_enum_defs, E, V}).
enum_symbol_by_value('CastFrame.Command.Authorization.CommandType', Value) -> 'enum_symbol_by_value_CastFrame.Command.Authorization.CommandType'(Value).
-spec enum_value_by_symbol(_, _) -> no_return().
enum_value_by_symbol(E, V) -> erlang:error({no_enum_defs, E, V}).
enum_value_by_symbol('CastFrame.Command.Authorization.CommandType', Sym) -> 'enum_value_by_symbol_CastFrame.Command.Authorization.CommandType'(Sym).
'enum_symbol_by_value_CastFrame.Command.Authorization.CommandType'(0) -> 'DEACTIVATE';
'enum_symbol_by_value_CastFrame.Command.Authorization.CommandType'(1) -> 'ACTIVATE'.
'enum_value_by_symbol_CastFrame.Command.Authorization.CommandType'('DEACTIVATE') -> 0;
'enum_value_by_symbol_CastFrame.Command.Authorization.CommandType'('ACTIVATE') -> 1.
get_service_names() -> [].
@ -5411,6 +5513,7 @@ fqbin_to_msg_name(<<"ReplyFrame.Error">>) -> 'ReplyFrame.Error';
fqbin_to_msg_name(<<"ReplyFrame">>) -> 'ReplyFrame';
fqbin_to_msg_name(<<"CastFrame.Pub">>) -> 'CastFrame.Pub';
fqbin_to_msg_name(<<"CastFrame.Command">>) -> 'CastFrame.Command';
fqbin_to_msg_name(<<"CastFrame.Command.Authorization">>) -> 'CastFrame.Command.Authorization';
fqbin_to_msg_name(<<"CastFrame.Data">>) -> 'CastFrame.Data';
fqbin_to_msg_name(<<"CastFrame.TaskEvent">>) -> 'CastFrame.TaskEvent';
fqbin_to_msg_name(<<"CastFrame">>) -> 'CastFrame';
@ -5443,6 +5546,7 @@ msg_name_to_fqbin('ReplyFrame.Error') -> <<"ReplyFrame.Error">>;
msg_name_to_fqbin('ReplyFrame') -> <<"ReplyFrame">>;
msg_name_to_fqbin('CastFrame.Pub') -> <<"CastFrame.Pub">>;
msg_name_to_fqbin('CastFrame.Command') -> <<"CastFrame.Command">>;
msg_name_to_fqbin('CastFrame.Command.Authorization') -> <<"CastFrame.Command.Authorization">>;
msg_name_to_fqbin('CastFrame.Data') -> <<"CastFrame.Data">>;
msg_name_to_fqbin('CastFrame.TaskEvent') -> <<"CastFrame.TaskEvent">>;
msg_name_to_fqbin('CastFrame') -> <<"CastFrame">>;
@ -5469,11 +5573,11 @@ msg_name_to_fqbin('Ulimit') -> <<"Ulimit">>;
msg_name_to_fqbin(E) -> error({gpb_error, {badmsg, E}}).
-spec fqbin_to_enum_name(_) -> no_return().
fqbin_to_enum_name(<<"CastFrame.Command.Authorization.CommandType">>) -> 'CastFrame.Command.Authorization.CommandType';
fqbin_to_enum_name(E) -> error({gpb_error, {badenum, E}}).
-spec enum_name_to_fqbin(_) -> no_return().
enum_name_to_fqbin('CastFrame.Command.Authorization.CommandType') -> <<"CastFrame.Command.Authorization.CommandType">>;
enum_name_to_fqbin(E) -> error({gpb_error, {badenum, E}}).
@ -5504,7 +5608,7 @@ get_all_source_basenames() -> ["message.proto", "docker.proto"].
get_all_proto_names() -> ["message", "docker"].
get_msg_containment("message") -> ['AuthRequest', 'CastFrame', 'CastFrame.Command', 'CastFrame.Data', 'CastFrame.Pub', 'CastFrame.TaskEvent', 'ReplyFrame', 'ReplyFrame.Error', 'RequestFrame'];
get_msg_containment("message") -> ['AuthRequest', 'CastFrame', 'CastFrame.Command', 'CastFrame.Command.Authorization', 'CastFrame.Data', 'CastFrame.Pub', 'CastFrame.TaskEvent', 'ReplyFrame', 'ReplyFrame.Error', 'RequestFrame'];
get_msg_containment("docker") ->
['ContainerDeployParams',
'ContainerRef',
@ -5544,7 +5648,7 @@ get_rpc_containment("docker") -> [];
get_rpc_containment(P) -> error({gpb_error, {badproto, P}}).
get_enum_containment("message") -> [];
get_enum_containment("message") -> ['CastFrame.Command.Authorization.CommandType'];
get_enum_containment("docker") -> [];
get_enum_containment(P) -> error({gpb_error, {badproto, P}}).
@ -5578,6 +5682,7 @@ get_proto_by_msg_name_as_fqbin(<<"RestartPolicy">>) -> "docker";
get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.Deploy">>) -> "docker";
get_proto_by_msg_name_as_fqbin(<<"Healthcheck">>) -> "docker";
get_proto_by_msg_name_as_fqbin(<<"ContainerRequest.Kill">>) -> "docker";
get_proto_by_msg_name_as_fqbin(<<"CastFrame.Command.Authorization">>) -> "message";
get_proto_by_msg_name_as_fqbin(E) -> error({gpb_error, {badmsg, E}}).
@ -5585,7 +5690,7 @@ get_proto_by_msg_name_as_fqbin(E) -> error({gpb_error, {badmsg, E}}).
get_proto_by_service_name_as_fqbin(E) -> error({gpb_error, {badservice, E}}).
-spec get_proto_by_enum_name_as_fqbin(_) -> no_return().
get_proto_by_enum_name_as_fqbin(<<"CastFrame.Command.Authorization.CommandType">>) -> "message";
get_proto_by_enum_name_as_fqbin(E) -> error({gpb_error, {badenum, E}}).

View File

@ -16,7 +16,7 @@
-define(INFLIGHT_TIMEOUT, 60000).
%% API
-export([pub/4, container_call/3, cancel_request_call/2, command/3]).
-export([pub/4, container_call/3, cancel_request_call/2, command/2]).
-export([start_link/3, stop/2]).
%% gen_server callbacks
@ -48,9 +48,9 @@ pub(Pid, Topic, Qos, Content) when is_pid(Pid), is_binary(Topic), is_integer(Qos
gen_server:cast(Pid, {pub, Topic, Qos, Content}).
%%
-spec command(Pid :: pid(), CommandType :: integer(), Command :: binary()) -> no_return().
command(Pid, CommandType, Command) when is_pid(Pid), is_integer(CommandType), is_binary(Command) ->
gen_server:cast(Pid, {command, CommandType, Command}).
-spec command(Pid :: pid(), Command :: message_pb:'CastFrame.Command'()) -> no_return().
command(Pid, Command) when is_pid(Pid) ->
gen_server:cast(Pid, {command, Command}).
-spec container_call(Pid :: pid(), ReceiverPid :: pid(), Request :: message_pb:'ContainerRequest'()) -> Ref :: reference().
container_call(Pid, ReceiverPid, Request) when is_pid(Pid), is_pid(ReceiverPid), is_record(Request, 'ContainerRequest') ->
@ -104,9 +104,9 @@ handle_cast({pub, Topic, Qos, Content}, State = #state{transport = Transport, so
{noreply, State};
%% Command消息
handle_cast({command, CommandType, Command}, State = #state{transport = Transport, socket = Socket}) ->
handle_cast({command, Command}, State = #state{transport = Transport, socket = Socket}) ->
Encoded = message_pb:encode_msg(#'CastFrame'{
body = {command, #'CastFrame.Command'{command_type = CommandType, command = Command}}
body = Command
}),
Transport:send(Socket, <<?FRAME_CAST, Encoded/binary>>),
{noreply, State};