fix
This commit is contained in:
parent
5174eed7c4
commit
78cc510b80
@ -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()
|
||||||
|
|||||||
@ -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.
|
||||||
|
|||||||
@ -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),
|
||||||
|
|||||||
@ -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,
|
||||||
%% 工作目录
|
%% 工作目录
|
||||||
|
|||||||
@ -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}}.
|
||||||
|
|
||||||
|
|||||||
@ -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">>,
|
||||||
%% 工作目录
|
%% 工作目录
|
||||||
|
|||||||
@ -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)]),
|
||||||
|
|||||||
@ -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)]),
|
||||||
|
|||||||
@ -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";
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user