This commit is contained in:
anlicheng 2025-05-08 12:05:37 +08:00
parent 5174eed7c4
commit 78cc510b80
9 changed files with 28 additions and 176 deletions

View File

@ -9,7 +9,7 @@
-author("anlicheng"). -author("anlicheng").
%% %%
-record(micro_service, { -record(service, {
service_id :: binary(), service_id :: binary(),
tar_url :: binary(), tar_url :: binary(),
%% %%
@ -21,7 +21,7 @@
}). }).
%% %%
-record(micro_cache, { -record(cache, {
id = 0 :: integer(), id = 0 :: integer(),
method :: integer(), method :: integer(),
data :: binary() data :: binary()

View File

@ -125,13 +125,4 @@
}). }).
-endif. -endif.
-ifndef('AI_EVENT_PB_H').
-define('AI_EVENT_PB_H', true).
-record(ai_event,
{service_id = <<>> :: unicode:chardata() | undefined, % = 1, optional
event_type = 0 :: non_neg_integer() | undefined, % = 2, optional, 32 bits
params = <<>> :: unicode:chardata() | undefined % = 3, optional
}).
-endif.
-endif. -endif.

View File

@ -199,7 +199,7 @@ handle_info({auth_reply, {ok, ReplyBin}}, State = #state{status = ?STATE_AUTH, t
%% %%
CacheItems = cache_model:get_all_cache(), CacheItems = cache_model:get_all_cache(),
lists:foreach(fun(#micro_cache{id = Id, method = Method, data = Packet}) -> lists:foreach(fun(#cache{id = Id, method = Method, data = Packet}) ->
efka_transport:send(TransportPid, Method, Packet), efka_transport:send(TransportPid, Method, Packet),
cache_model:delete(Id) cache_model:delete(Id)
end, CacheItems), end, CacheItems),

View File

@ -95,7 +95,7 @@ handle_cast(deploy, State = #state{task_id = TaskId, root_dir = RootDir, service
%% lock文件 %% lock文件
touch_lock(ServiceRootDir, TarUrl), touch_lock(ServiceRootDir, TarUrl),
%% %%
ok = service_model:insert(#micro_service{ ok = service_model:insert(#service{
service_id = ServiceId, service_id = ServiceId,
tar_url = TarUrl, tar_url = TarUrl,
%% %%

View File

@ -111,7 +111,7 @@ init([ServiceId]) ->
error -> error ->
lager:notice("[efka_service] service_id: ~p, not found", [ServiceId]), lager:notice("[efka_service] service_id: ~p, not found", [ServiceId]),
ignore; ignore;
{ok, Service = #micro_service{root_dir = RootDir}} -> {ok, Service = #service{root_dir = RootDir}} ->
case efka_manifest:new(RootDir) of case efka_manifest:new(RootDir) of
{ok, Manifest} -> {ok, Manifest} ->
init0(Service, Manifest); init0(Service, Manifest);
@ -121,7 +121,7 @@ init([ServiceId]) ->
end end
end. end.
init0(#micro_service{service_id = ServiceId, status = 1}, Manifest) -> init0(#service{service_id = ServiceId, status = 1}, Manifest) ->
%% 2 %% 2
case efka_manifest:startup(Manifest) of case efka_manifest:startup(Manifest) of
{ok, Port} -> {ok, Port} ->
@ -132,7 +132,7 @@ init0(#micro_service{service_id = ServiceId, status = 1}, Manifest) ->
lager:debug("[efka_service] service: ~p, boot_service get error: ~p", [ServiceId, Reason]), lager:debug("[efka_service] service: ~p, boot_service get error: ~p", [ServiceId, Reason]),
{ok, #state{service_id = ServiceId, manifest = Manifest, running_status = ?STATUS_STOPPED, port = undefined, os_pid = undefined}} {ok, #state{service_id = ServiceId, manifest = Manifest, running_status = ?STATUS_STOPPED, port = undefined, os_pid = undefined}}
end; end;
init0(#micro_service{service_id = ServiceId, status = 0}, Manifest) -> init0(#service{service_id = ServiceId, status = 0}, Manifest) ->
lager:debug("[efka_service] service: ~p current status is 0, not boot"), lager:debug("[efka_service] service: ~p current status is 0, not boot"),
{ok, #state{service_id = ServiceId, manifest = Manifest, running_status = ?STATUS_STOPPED, port = undefined, os_pid = undefined}}. {ok, #state{service_id = ServiceId, manifest = Manifest, running_status = ?STATUS_STOPPED, port = undefined, os_pid = undefined}}.

View File

@ -47,7 +47,7 @@ start_link() ->
init([]) -> init([]) ->
SupFlags = #{strategy => one_for_one, intensity => 1000, period => 3600}, SupFlags = #{strategy => one_for_one, intensity => 1000, period => 3600},
service_model:insert(#micro_service{ service_model:insert(#service{
service_id = <<"test1234">>, service_id = <<"test1234">>,
tar_url = <<"http://118.178.229.213:3000/anlicheng/ekfa/archive1/main.tar.gz">>, tar_url = <<"http://118.178.229.213:3000/anlicheng/ekfa/archive1/main.tar.gz">>,
%% %%

View File

@ -31,7 +31,7 @@ next_id() ->
-spec insert(Method :: integer(), Data :: binary()) -> ok | {error, Reason :: any()}. -spec insert(Method :: integer(), Data :: binary()) -> ok | {error, Reason :: any()}.
insert(Method, Data) when is_integer(Method), is_binary(Data) -> insert(Method, Data) when is_integer(Method), is_binary(Data) ->
Cache = #micro_cache{id = next_id(), method = Method, data = Data}, Cache = #cache{id = next_id(), method = Method, data = Data},
case mnesia:transaction(fun() -> mnesia:write(?TAB, Cache, write) end) of case mnesia:transaction(fun() -> mnesia:write(?TAB, Cache, write) end) of
{'atomic', ok} -> {'atomic', ok} ->
ok; ok;
@ -56,7 +56,7 @@ delete(Id) when is_integer(Id) ->
{error, Reason} {error, Reason}
end. end.
-spec get_all_cache() -> [#micro_cache{}]. -spec get_all_cache() -> [#cache{}].
get_all_cache() -> get_all_cache() ->
Fun = fun() -> Fun = fun() ->
Q = qlc:q([E || E <- mnesia:table(?TAB)]), Q = qlc:q([E || E <- mnesia:table(?TAB)]),

View File

@ -27,7 +27,7 @@ create_table() ->
{type, ordered_set} {type, ordered_set}
]). ]).
insert(MicroService = #micro_service{}) -> insert(MicroService = #service{}) ->
case mnesia:transaction(fun() -> mnesia:write(micro_service, MicroService, write) end) of case mnesia:transaction(fun() -> mnesia:write(micro_service, MicroService, write) end) of
{'atomic', Res} -> {'atomic', Res} ->
Res; Res;
@ -41,7 +41,7 @@ change_status(ServiceId, NewStatus) when is_binary(ServiceId), is_integer(NewSta
[] -> [] ->
mnesia:abort(<<"service not found">>); mnesia:abort(<<"service not found">>);
[Service] -> [Service] ->
mnesia:write(?TAB, Service#micro_service{status = NewStatus}, write) mnesia:write(?TAB, Service#service{status = NewStatus}, write)
end end
end, end,
case mnesia:transaction(Fun) of case mnesia:transaction(Fun) of
@ -58,7 +58,7 @@ set_params(ServiceId, Params) when is_binary(ServiceId), is_binary(Params) ->
[] -> [] ->
mnesia:abort(<<"service not found">>); mnesia:abort(<<"service not found">>);
[S] -> [S] ->
mnesia:write(?TAB, S#micro_service{params = Params}, write) mnesia:write(?TAB, S#service{params = Params}, write)
end end
end, end,
case mnesia:transaction(Fun) of case mnesia:transaction(Fun) of
@ -75,7 +75,7 @@ set_metrics(ServiceId, Metrics) when is_binary(ServiceId), is_binary(Metrics) ->
[] -> [] ->
mnesia:abort(<<"service not found">>); mnesia:abort(<<"service not found">>);
[S] -> [S] ->
mnesia:write(?TAB, S#micro_service{metrics = Metrics}, write) mnesia:write(?TAB, S#service{metrics = Metrics}, write)
end end
end, end,
case mnesia:transaction(Fun) of case mnesia:transaction(Fun) of
@ -90,7 +90,7 @@ get_params(ServiceId) when is_binary(ServiceId) ->
case mnesia:dirty_read(?TAB, ServiceId) of case mnesia:dirty_read(?TAB, ServiceId) of
[] -> [] ->
<<"">>; <<"">>;
[#micro_service{params = Params}] -> [#service{params = Params}] ->
Params Params
end. end.
@ -99,7 +99,7 @@ get_metrics(ServiceId) when is_binary(ServiceId) ->
case mnesia:dirty_read(?TAB, ServiceId) of case mnesia:dirty_read(?TAB, ServiceId) of
[] -> [] ->
<<"">>; <<"">>;
[#micro_service{metrics = Metrics}] -> [#service{metrics = Metrics}] ->
Metrics Metrics
end. end.
@ -108,11 +108,11 @@ get_status(ServiceId) when is_binary(ServiceId) ->
case mnesia:dirty_read(?TAB, ServiceId) of case mnesia:dirty_read(?TAB, ServiceId) of
[] -> [] ->
0; 0;
[#micro_service{status = Status}] -> [#service{status = Status}] ->
Status Status
end. end.
-spec get_service(ServiceId :: binary()) -> error | {ok, Service :: #micro_service{}}. -spec get_service(ServiceId :: binary()) -> error | {ok, Service :: #service{}}.
get_service(ServiceId) when is_binary(ServiceId) -> get_service(ServiceId) when is_binary(ServiceId) ->
case mnesia:dirty_read(?TAB, ServiceId) of case mnesia:dirty_read(?TAB, ServiceId) of
[] -> [] ->
@ -121,7 +121,7 @@ get_service(ServiceId) when is_binary(ServiceId) ->
{ok, Service} {ok, Service}
end. end.
-spec get_all_services() -> [#micro_service{}]. -spec get_all_services() -> [#service{}].
get_all_services() -> get_all_services() ->
Fun = fun() -> Fun = fun() ->
Q = qlc:q([E || E <- mnesia:table(?TAB)]), Q = qlc:q([E || E <- mnesia:table(?TAB)]),

View File

@ -79,11 +79,9 @@
-type event() :: #event{}. -type event() :: #event{}.
-type ai_event() :: #ai_event{}. -export_type(['auth_request'/0, 'auth_reply'/0, 'activate_push'/0, 'deploy'/0, 'efka_response'/0, 'topic_message'/0, 'service_config'/0, 'data'/0, 'ping'/0, 'service_inform'/0, 'feedback_phase'/0, 'event'/0]).
-type '$msg_name'() :: auth_request | auth_reply | activate_push | deploy | efka_response | topic_message | service_config | data | ping | service_inform | feedback_phase | event.
-export_type(['auth_request'/0, 'auth_reply'/0, 'activate_push'/0, 'deploy'/0, 'efka_response'/0, 'topic_message'/0, 'service_config'/0, 'data'/0, 'ping'/0, 'service_inform'/0, 'feedback_phase'/0, 'event'/0, 'ai_event'/0]). -type '$msg'() :: auth_request() | auth_reply() | activate_push() | deploy() | efka_response() | topic_message() | service_config() | data() | ping() | service_inform() | feedback_phase() | event().
-type '$msg_name'() :: auth_request | auth_reply | activate_push | deploy | efka_response | topic_message | service_config | data | ping | service_inform | feedback_phase | event | ai_event.
-type '$msg'() :: auth_request() | auth_reply() | activate_push() | deploy() | efka_response() | topic_message() | service_config() | data() | ping() | service_inform() | feedback_phase() | event() | ai_event().
-export_type(['$msg_name'/0, '$msg'/0]). -export_type(['$msg_name'/0, '$msg'/0]).
-if(?OTP_RELEASE >= 24). -if(?OTP_RELEASE >= 24).
@ -121,8 +119,7 @@ encode_msg(Msg, MsgName, Opts) ->
ping -> encode_msg_ping(id(Msg, TrUserData), TrUserData); ping -> encode_msg_ping(id(Msg, TrUserData), TrUserData);
service_inform -> encode_msg_service_inform(id(Msg, TrUserData), TrUserData); service_inform -> encode_msg_service_inform(id(Msg, TrUserData), TrUserData);
feedback_phase -> encode_msg_feedback_phase(id(Msg, TrUserData), TrUserData); feedback_phase -> encode_msg_feedback_phase(id(Msg, TrUserData), TrUserData);
event -> encode_msg_event(id(Msg, TrUserData), TrUserData); event -> encode_msg_event(id(Msg, TrUserData), TrUserData)
ai_event -> encode_msg_ai_event(id(Msg, TrUserData), TrUserData)
end. end.
@ -610,40 +607,6 @@ encode_msg_event(#event{service_id = F1, event_type = F2, params = F3}, Bin, TrU
end end
end. end.
encode_msg_ai_event(Msg, TrUserData) -> encode_msg_ai_event(Msg, <<>>, TrUserData).
encode_msg_ai_event(#ai_event{service_id = F1, event_type = F2, params = F3}, Bin, TrUserData) ->
B1 = if F1 == undefined -> Bin;
true ->
begin
TrF1 = id(F1, TrUserData),
case is_empty_string(TrF1) of
true -> Bin;
false -> e_type_string(TrF1, <<Bin/binary, 10>>, TrUserData)
end
end
end,
B2 = if F2 == undefined -> B1;
true ->
begin
TrF2 = id(F2, TrUserData),
if TrF2 =:= 0 -> B1;
true -> e_varint(TrF2, <<B1/binary, 16>>, TrUserData)
end
end
end,
if F3 == undefined -> B2;
true ->
begin
TrF3 = id(F3, TrUserData),
case is_empty_string(TrF3) of
true -> B2;
false -> e_type_string(TrF3, <<B2/binary, 26>>, TrUserData)
end
end
end.
e_field_ping_ips([Elem | Rest], Bin, TrUserData) -> e_field_ping_ips([Elem | Rest], Bin, TrUserData) ->
Bin2 = <<Bin/binary, 58>>, Bin2 = <<Bin/binary, 58>>,
Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData), Bin3 = e_type_string(id(Elem, TrUserData), Bin2, TrUserData),
@ -823,8 +786,7 @@ decode_msg_2_doit(data, Bin, TrUserData) -> id(decode_msg_data(Bin, TrUserData),
decode_msg_2_doit(ping, Bin, TrUserData) -> id(decode_msg_ping(Bin, TrUserData), TrUserData); decode_msg_2_doit(ping, Bin, TrUserData) -> id(decode_msg_ping(Bin, TrUserData), TrUserData);
decode_msg_2_doit(service_inform, Bin, TrUserData) -> id(decode_msg_service_inform(Bin, TrUserData), TrUserData); decode_msg_2_doit(service_inform, Bin, TrUserData) -> id(decode_msg_service_inform(Bin, TrUserData), TrUserData);
decode_msg_2_doit(feedback_phase, Bin, TrUserData) -> id(decode_msg_feedback_phase(Bin, TrUserData), TrUserData); decode_msg_2_doit(feedback_phase, Bin, TrUserData) -> id(decode_msg_feedback_phase(Bin, TrUserData), TrUserData);
decode_msg_2_doit(event, Bin, TrUserData) -> id(decode_msg_event(Bin, TrUserData), TrUserData); decode_msg_2_doit(event, Bin, TrUserData) -> id(decode_msg_event(Bin, TrUserData), TrUserData).
decode_msg_2_doit(ai_event, Bin, TrUserData) -> id(decode_msg_ai_event(Bin, TrUserData), TrUserData).
@ -1679,64 +1641,6 @@ skip_32_event(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) ->
skip_64_event(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_event(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). skip_64_event(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_event(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
decode_msg_ai_event(Bin, TrUserData) -> dfp_read_field_def_ai_event(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), TrUserData).
dfp_read_field_def_ai_event(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ai_event_service_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
dfp_read_field_def_ai_event(<<16, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ai_event_event_type(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
dfp_read_field_def_ai_event(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_ai_event_params(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
dfp_read_field_def_ai_event(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #ai_event{service_id = F@_1, event_type = F@_2, params = F@_3};
dfp_read_field_def_ai_event(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_ai_event(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
dg_read_field_def_ai_event(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_ai_event(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
dg_read_field_def_ai_event(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, TrUserData) ->
Key = X bsl N + Acc,
case Key of
10 -> d_field_ai_event_service_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData);
16 -> d_field_ai_event_event_type(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData);
26 -> d_field_ai_event_params(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData);
_ ->
case Key band 7 of
0 -> skip_varint_ai_event(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
1 -> skip_64_ai_event(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
2 -> skip_length_delimited_ai_event(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
3 -> skip_group_ai_event(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData);
5 -> skip_32_ai_event(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData)
end
end;
dg_read_field_def_ai_event(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #ai_event{service_id = F@_1, event_type = F@_2, params = F@_3}.
d_field_ai_event_service_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_ai_event_service_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
d_field_ai_event_service_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, 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_ai_event(RestF, 0, 0, F, NewFValue, F@_2, F@_3, TrUserData).
d_field_ai_event_event_type(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_ai_event_event_type(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
d_field_ai_event_event_type(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, TrUserData) ->
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
dfp_read_field_def_ai_event(RestF, 0, 0, F, F@_1, NewFValue, F@_3, TrUserData).
d_field_ai_event_params(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_ai_event_params(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
d_field_ai_event_params(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, 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_ai_event(RestF, 0, 0, F, F@_1, F@_2, NewFValue, TrUserData).
skip_varint_ai_event(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> skip_varint_ai_event(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData);
skip_varint_ai_event(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_ai_event(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
skip_length_delimited_ai_event(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> skip_length_delimited_ai_event(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData);
skip_length_delimited_ai_event(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) ->
Length = X bsl N + Acc,
<<_:Length/binary, Rest2/binary>> = Rest,
dfp_read_field_def_ai_event(Rest2, 0, 0, F, F@_1, F@_2, F@_3, TrUserData).
skip_group_ai_event(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
dfp_read_field_def_ai_event(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, TrUserData).
skip_32_ai_event(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_ai_event(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
skip_64_ai_event(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_ai_event(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData).
read_group(Bin, FieldNum) -> read_group(Bin, FieldNum) ->
{NumBytes, EndTagLen} = read_gr_b(Bin, 0, 0, 0, 0, FieldNum), {NumBytes, EndTagLen} = read_gr_b(Bin, 0, 0, 0, 0, FieldNum),
<<Group:NumBytes/binary, _:EndTagLen/binary, Rest/binary>> = Bin, <<Group:NumBytes/binary, _:EndTagLen/binary, Rest/binary>> = Bin,
@ -1814,8 +1718,7 @@ merge_msgs(Prev, New, MsgName, Opts) ->
ping -> merge_msg_ping(Prev, New, TrUserData); ping -> merge_msg_ping(Prev, New, TrUserData);
service_inform -> merge_msg_service_inform(Prev, New, TrUserData); service_inform -> merge_msg_service_inform(Prev, New, TrUserData);
feedback_phase -> merge_msg_feedback_phase(Prev, New, TrUserData); feedback_phase -> merge_msg_feedback_phase(Prev, New, TrUserData);
event -> merge_msg_event(Prev, New, TrUserData); event -> merge_msg_event(Prev, New, TrUserData)
ai_event -> merge_msg_ai_event(Prev, New, TrUserData)
end. end.
-compile({nowarn_unused_function,merge_msg_auth_request/3}). -compile({nowarn_unused_function,merge_msg_auth_request/3}).
@ -2041,21 +1944,6 @@ merge_msg_event(#event{service_id = PFservice_id, event_type = PFevent_type, par
true -> NFparams true -> NFparams
end}. end}.
-compile({nowarn_unused_function,merge_msg_ai_event/3}).
merge_msg_ai_event(#ai_event{service_id = PFservice_id, event_type = PFevent_type, params = PFparams}, #ai_event{service_id = NFservice_id, event_type = NFevent_type, params = NFparams}, _) ->
#ai_event{service_id =
if NFservice_id =:= undefined -> PFservice_id;
true -> NFservice_id
end,
event_type =
if NFevent_type =:= undefined -> PFevent_type;
true -> NFevent_type
end,
params =
if NFparams =:= undefined -> PFparams;
true -> NFparams
end}.
verify_msg(Msg) when tuple_size(Msg) >= 1 -> verify_msg(Msg, element(1, Msg), []); verify_msg(Msg) when tuple_size(Msg) >= 1 -> verify_msg(Msg, element(1, Msg), []);
verify_msg(X) -> mk_type_error(not_a_known_message, X, []). verify_msg(X) -> mk_type_error(not_a_known_message, X, []).
@ -2079,7 +1967,6 @@ verify_msg(Msg, MsgName, Opts) ->
service_inform -> v_msg_service_inform(Msg, [MsgName], TrUserData); service_inform -> v_msg_service_inform(Msg, [MsgName], TrUserData);
feedback_phase -> v_msg_feedback_phase(Msg, [MsgName], TrUserData); feedback_phase -> v_msg_feedback_phase(Msg, [MsgName], TrUserData);
event -> v_msg_event(Msg, [MsgName], TrUserData); event -> v_msg_event(Msg, [MsgName], TrUserData);
ai_event -> v_msg_ai_event(Msg, [MsgName], TrUserData);
_ -> mk_type_error(not_a_known_message, Msg, []) _ -> mk_type_error(not_a_known_message, Msg, [])
end. end.
@ -2297,21 +2184,6 @@ v_msg_event(#event{service_id = F1, event_type = F2, params = F3}, Path, TrUserD
ok; ok;
v_msg_event(X, Path, _TrUserData) -> mk_type_error({expected_msg, event}, X, Path). v_msg_event(X, Path, _TrUserData) -> mk_type_error({expected_msg, event}, X, Path).
-compile({nowarn_unused_function,v_msg_ai_event/3}).
-dialyzer({nowarn_function,v_msg_ai_event/3}).
v_msg_ai_event(#ai_event{service_id = F1, event_type = F2, params = F3}, Path, TrUserData) ->
if F1 == undefined -> ok;
true -> v_type_string(F1, [service_id | Path], TrUserData)
end,
if F2 == undefined -> ok;
true -> v_type_uint32(F2, [event_type | Path], TrUserData)
end,
if F3 == undefined -> ok;
true -> v_type_string(F3, [params | Path], TrUserData)
end,
ok;
v_msg_ai_event(X, Path, _TrUserData) -> mk_type_error({expected_msg, ai_event}, X, Path).
-compile({nowarn_unused_function,v_type_int32/3}). -compile({nowarn_unused_function,v_type_int32/3}).
-dialyzer({nowarn_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; v_type_int32(N, _Path, _TrUserData) when is_integer(N), -2147483648 =< N, N =< 2147483647 -> ok;
@ -2439,22 +2311,18 @@ get_msg_defs() ->
#field{name = phase, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, #field{name = phase, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []},
#field{name = timestamp, fnum = 3, rnum = 4, type = uint32, occurrence = optional, opts = []}]}, #field{name = timestamp, fnum = 3, rnum = 4, type = uint32, occurrence = optional, opts = []}]},
{{msg, event}, {{msg, event},
[#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
#field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []},
#field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]},
{{msg, ai_event},
[#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, [#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
#field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []}, #field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []},
#field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}]. #field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}].
get_msg_names() -> [auth_request, auth_reply, activate_push, deploy, efka_response, topic_message, service_config, data, ping, service_inform, feedback_phase, event, ai_event]. get_msg_names() -> [auth_request, auth_reply, activate_push, deploy, efka_response, topic_message, service_config, data, ping, service_inform, feedback_phase, event].
get_group_names() -> []. get_group_names() -> [].
get_msg_or_group_names() -> [auth_request, auth_reply, activate_push, deploy, efka_response, topic_message, service_config, data, ping, service_inform, feedback_phase, event, ai_event]. get_msg_or_group_names() -> [auth_request, auth_reply, activate_push, deploy, efka_response, topic_message, service_config, data, ping, service_inform, feedback_phase, event].
get_enum_names() -> []. get_enum_names() -> [].
@ -2523,10 +2391,6 @@ find_msg_def(event) ->
[#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, [#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
#field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []}, #field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []},
#field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]; #field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}];
find_msg_def(ai_event) ->
[#field{name = service_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []},
#field{name = event_type, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []},
#field{name = params, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}];
find_msg_def(_) -> error. find_msg_def(_) -> error.
@ -2597,7 +2461,6 @@ fqbin_to_msg_name(<<"Ping">>) -> ping;
fqbin_to_msg_name(<<"ServiceInform">>) -> service_inform; fqbin_to_msg_name(<<"ServiceInform">>) -> service_inform;
fqbin_to_msg_name(<<"FeedbackPhase">>) -> feedback_phase; fqbin_to_msg_name(<<"FeedbackPhase">>) -> feedback_phase;
fqbin_to_msg_name(<<"Event">>) -> event; fqbin_to_msg_name(<<"Event">>) -> event;
fqbin_to_msg_name(<<"AIEvent">>) -> ai_event;
fqbin_to_msg_name(E) -> error({gpb_error, {badmsg, E}}). fqbin_to_msg_name(E) -> error({gpb_error, {badmsg, E}}).
@ -2613,7 +2476,6 @@ msg_name_to_fqbin(ping) -> <<"Ping">>;
msg_name_to_fqbin(service_inform) -> <<"ServiceInform">>; msg_name_to_fqbin(service_inform) -> <<"ServiceInform">>;
msg_name_to_fqbin(feedback_phase) -> <<"FeedbackPhase">>; msg_name_to_fqbin(feedback_phase) -> <<"FeedbackPhase">>;
msg_name_to_fqbin(event) -> <<"Event">>; msg_name_to_fqbin(event) -> <<"Event">>;
msg_name_to_fqbin(ai_event) -> <<"AIEvent">>;
msg_name_to_fqbin(E) -> error({gpb_error, {badmsg, E}}). msg_name_to_fqbin(E) -> error({gpb_error, {badmsg, E}}).
@ -2652,7 +2514,7 @@ get_all_source_basenames() -> ["message_pb.proto"].
get_all_proto_names() -> ["message_pb"]. get_all_proto_names() -> ["message_pb"].
get_msg_containment("message_pb") -> [ai_event, activate_push, auth_reply, auth_request, data, deploy, efka_response, event, feedback_phase, ping, service_config, service_inform, topic_message]; get_msg_containment("message_pb") -> [activate_push, auth_reply, auth_request, data, deploy, efka_response, event, feedback_phase, ping, service_config, service_inform, topic_message];
get_msg_containment(P) -> error({gpb_error, {badproto, P}}). get_msg_containment(P) -> error({gpb_error, {badproto, P}}).
@ -2675,7 +2537,6 @@ get_enum_containment(P) -> error({gpb_error, {badproto, P}}).
get_proto_by_msg_name_as_fqbin(<<"Data">>) -> "message_pb"; get_proto_by_msg_name_as_fqbin(<<"Data">>) -> "message_pb";
get_proto_by_msg_name_as_fqbin(<<"Event">>) -> "message_pb"; get_proto_by_msg_name_as_fqbin(<<"Event">>) -> "message_pb";
get_proto_by_msg_name_as_fqbin(<<"AuthRequest">>) -> "message_pb"; get_proto_by_msg_name_as_fqbin(<<"AuthRequest">>) -> "message_pb";
get_proto_by_msg_name_as_fqbin(<<"AIEvent">>) -> "message_pb";
get_proto_by_msg_name_as_fqbin(<<"TopicMessage">>) -> "message_pb"; get_proto_by_msg_name_as_fqbin(<<"TopicMessage">>) -> "message_pb";
get_proto_by_msg_name_as_fqbin(<<"FeedbackPhase">>) -> "message_pb"; get_proto_by_msg_name_as_fqbin(<<"FeedbackPhase">>) -> "message_pb";
get_proto_by_msg_name_as_fqbin(<<"EfkaResponse">>) -> "message_pb"; get_proto_by_msg_name_as_fqbin(<<"EfkaResponse">>) -> "message_pb";