diff --git a/apps/efka/include/efka_tables.hrl b/apps/efka/include/efka_tables.hrl index bbebfee..89bcc22 100644 --- a/apps/efka/include/efka_tables.hrl +++ b/apps/efka/include/efka_tables.hrl @@ -11,7 +11,7 @@ %% 用来保存微服务 -record(micro_service, { service_id :: binary(), - from :: binary(), + tar_url :: binary(), %% 工作目录 work_dir :: binary(), params :: binary(), diff --git a/apps/efka/include/message_pb.hrl b/apps/efka/include/message_pb.hrl index 15dc9c2..a9fa305 100644 --- a/apps/efka/include/message_pb.hrl +++ b/apps/efka/include/message_pb.hrl @@ -23,8 +23,7 @@ -define('AUTH_REPLY_PB_H', true). -record(auth_reply, {code = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits - message = <<>> :: unicode:chardata() | undefined, % = 2, optional - repository_url = <<>> :: unicode:chardata() | undefined % = 3, optional + message = <<>> :: unicode:chardata() | undefined % = 2, optional }). -endif. @@ -39,8 +38,8 @@ -define('DEPLOY_PB_H', true). -record(deploy, {task_id = 0 :: non_neg_integer() | undefined, % = 1, optional, 32 bits - from = <<>> :: unicode:chardata() | undefined, % = 2, optional - service_id = <<>> :: unicode:chardata() | undefined % = 3, optional + service_id = <<>> :: unicode:chardata() | undefined, % = 2, optional + tar_url = <<>> :: unicode:chardata() | undefined % = 3, optional }). -endif. @@ -122,8 +121,7 @@ {task_id = <<>> :: unicode:chardata() | undefined, % = 1, optional timestamp = 0 :: non_neg_integer() | undefined, % = 2, optional, 32 bits phase = <<>> :: unicode:chardata() | undefined, % = 3, optional - code = 0 :: non_neg_integer() | undefined, % = 4, optional, 32 bits - message = <<>> :: unicode:chardata() | undefined % = 5, optional + code = 0 :: integer() | undefined % = 4, optional, 32 bits }). -endif. diff --git a/apps/efka/src/efka_agent.erl b/apps/efka/src/efka_agent.erl index 67115ea..c6b9c28 100644 --- a/apps/efka/src/efka_agent.erl +++ b/apps/efka/src/efka_agent.erl @@ -16,8 +16,7 @@ %% API -export([start_link/0]). --export([metric_data/2, event/3, ai_event/3, ping/13]). --export([feedback_phase/4, feedback_phase/5]). +-export([metric_data/2, event/3, ai_event/3, ping/13, feedback_phase/4]). %% gen_server callbacks -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). @@ -54,11 +53,7 @@ ping(AdCode, BootTime, Province, City, EfkaVersion, KernelArch, Ips, CpuCore, Cp -spec feedback_phase(TaskId :: integer(), Timestamp :: integer(), Phase :: binary(), Code :: integer()) -> no_return(). feedback_phase(TaskId, Timestamp, Phase, Code) when is_integer(TaskId), is_integer(Timestamp), is_binary(Phase), is_integer(Code) -> - gen_server:cast(?SERVER, {feedback_phase, TaskId, Timestamp, Phase, Code, <<"">>}). - --spec feedback_phase(TaskId :: integer(), Timestamp :: integer(), Phase :: binary(), Code :: integer(), Message :: binary()) -> no_return(). -feedback_phase(TaskId, Timestamp, Phase, Code, Message) when is_integer(TaskId), is_integer(Timestamp), is_binary(Phase), is_integer(Code), is_binary(Message) -> - gen_server:cast(?SERVER, {feedback_phase, TaskId, Timestamp, Phase, Code, Message}). + gen_server:cast(?SERVER, {feedback_phase, TaskId, Timestamp, Phase, Code}). -spec event(ServiceId :: binary(), EventType :: integer(), Params :: binary()) -> no_return(). event(ServiceId, EventType, Params) when is_binary(ServiceId), is_integer(EventType), is_binary(Params) -> @@ -141,15 +136,13 @@ handle_cast({ai_event, ServiceId, EventType, Params}, State) -> {noreply, State}; -handle_cast({feedback_phase, TaskId, Timestamp, Phase, Code, Message}, State) -> +handle_cast({feedback_phase, TaskId, Timestamp, Phase, Code}, State) -> PhasePacket = message_pb:encode_msg(#feedback_phase{ task_id = TaskId, timestamp = Timestamp, phase = Phase, - code = Code, - message = Message + code = Code }), - safe_send(?METHOD_PHASE, PhasePacket, State), {noreply, State}; @@ -214,10 +207,10 @@ handle_info({connect_reply, Reply}, State = #state{status = ?STATE_CONNECTING, t %% 收到auth回复 handle_info({auth_reply, {ok, ReplyBin}}, State = #state{status = ?STATE_AUTH, transport_pid = TransportPid}) when is_pid(TransportPid) -> - #auth_reply{code = Code, message = Message, repository_url = RepositoryUrl} = message_pb:decode_msg(ReplyBin, auth_reply), + #auth_reply{code = Code, message = Message} = message_pb:decode_msg(ReplyBin, auth_reply), case Code of 0 -> - lager:debug("[efka_agent] auth failed, message: ~p, repository_url: ~p", [Message, RepositoryUrl]), + lager:debug("[efka_agent] auth failed, message: ~p", [Message]), %% 上传缓冲区里面的所有数据 CacheItems = micro_cache_model:get_all_cache(), @@ -254,9 +247,9 @@ handle_info({auth_reply, {error, Reason}}, State = #state{transport_pid = Transp %% 微服务部署 handle_info({server_push_message, PacketId, <>}, State = #state{transport_pid = TransportPid}) -> - #deploy{task_id = TaskId, from = From, service_id = ServiceId} = message_pb:decode_msg(DeployBin, deploy), + #deploy{task_id = TaskId, service_id = ServiceId, tar_url = TarUrl} = message_pb:decode_msg(DeployBin, deploy), - Reply = case efka_inetd:deploy(TaskId, ServiceId, From) of + Reply = case efka_inetd:deploy(TaskId, ServiceId, TarUrl) of ok -> #efka_response{code = 1, message = <<"">>}; {error, Reason} when is_binary(Reason) -> diff --git a/apps/efka/src/efka_inetd.erl b/apps/efka/src/efka_inetd.erl index fea9b20..23a3d11 100644 --- a/apps/efka/src/efka_inetd.erl +++ b/apps/efka/src/efka_inetd.erl @@ -18,7 +18,7 @@ %% API -export([start_link/0]). -export([deploy/3]). --export([ensure_dirs/3, check_lock/1]). +-export([ensure_dirs/2, check_lock/1]). %% gen_server callbacks -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). @@ -35,9 +35,9 @@ %%% API %%%=================================================================== --spec deploy(TaskId :: integer(), ServerId :: binary(), From :: binary()) -> ok | {error, Reason :: binary()}. -deploy(TaskId, ServerId, From) when is_integer(TaskId), is_binary(ServerId), is_binary(From) -> - gen_server:call(?SERVER, {deploy, TaskId, ServerId, From}). +-spec deploy(TaskId :: integer(), ServerId :: binary(), TarUrl :: binary()) -> ok | {error, Reason :: binary()}. +deploy(TaskId, ServerId, TarUrl) when is_integer(TaskId), is_binary(ServerId), is_binary(TarUrl) -> + gen_server:call(?SERVER, {deploy, TaskId, ServerId, TarUrl}). %% @doc Spawns the server and registers the local name (unique) -spec(start_link() -> @@ -68,22 +68,21 @@ init([]) -> {noreply, NewState :: #state{}, timeout() | hibernate} | {stop, Reason :: term(), Reply :: term(), NewState :: #state{}} | {stop, Reason :: term(), NewState :: #state{}}). -handle_call({deploy, TaskId, ServerId, From}, _From, State = #state{root_dir = RootDir, task_map = TaskMap}) -> +handle_call({deploy, TaskId, ServerId, TarUrl}, _From, State = #state{root_dir = RootDir, task_map = TaskMap}) -> %% 创建目录 - {ok, WorkDir} = ensure_dirs(RootDir, ServerId, From), + {ok, WorkDir} = ensure_dirs(RootDir, ServerId), case check_lock(WorkDir) of true -> {reply, ok, State}; false -> - DownloadUrl = make_download_url(From), - case check_download_url(DownloadUrl) of + case check_download_url(TarUrl) of ok -> {ok, {TaskPid, MRef}} = efka_downloader:start_monitor(), - efka_downloader:download(TaskPid, DownloadUrl, WorkDir), + efka_downloader:download(TaskPid, binary_to_list(TarUrl), WorkDir), %% 保存服务的上下文 Service = #micro_service{ service_id = ServerId, - from = From, + tar_url = TarUrl, %% 工作目录 work_dir = list_to_binary(WorkDir), params = <<"">>, @@ -93,7 +92,7 @@ handle_call({deploy, TaskId, ServerId, From}, _From, State = #state{root_dir = R }, {reply, ok, State#state{task_map = maps:put(MRef, {TaskId, Service}, TaskMap)}}; {error, Reason} -> - lager:debug("[efka_inetd] check_download_url: ~p, get error: ~p", [DownloadUrl, Reason]), + lager:debug("[efka_inetd] check_download_url: ~p, get error: ~p", [TarUrl, Reason]), {reply, {error, <<"download url error">>}, State} end end; @@ -116,65 +115,34 @@ handle_cast(_Request, State = #state{}) -> {noreply, NewState :: #state{}} | {noreply, NewState :: #state{}, timeout() | hibernate} | {stop, Reason :: term(), NewState :: #state{}}). -handle_info({'DOWN', Ref, process, _Pid, Reason}, State = #state{task_map = TaskMap}) -> - case maps:take(Ref, TaskMap) of - error -> - {noreply, State}; - {{TaskId, Service}, NTaskMap} -> - lager:debug("[efka_inetd] task_id: ~p", [TaskId]), - %% 汇报taskId的执行进度 - case Reason of - normal -> - %% 下载完整 - DownloadPhase = #feedback_phase{ - task_id = TaskId, - timestamp = efka_util:timestamp(), - phase = <<"download">>, - code = 1, - message = <<"">> - }, - efka_agent:feedback_phase(DownloadPhase), +handle_info({'DOWN', Ref, process, _Pid, normal}, State = #state{task_map = TaskMap}) -> + {{TaskId, Service}, NTaskMap} = maps:take(Ref, TaskMap), + lager:debug("[efka_inetd] task_id: ~p", [TaskId]), + %% 汇报taskId的执行进度 + %% 下载完整 + efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"download">>, 1), + %% 正常启动服务 + case start_service(Service) of + {ok, Pid} when is_pid(Pid) -> + efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"boot">>, 1), - %% 正常启动服务 - case start_service(Service) of - {ok, Pid} when is_pid(Pid) -> - BootPhase = #feedback_phase{ - task_id = TaskId, - timestamp = efka_util:timestamp(), - phase = <<"boot">>, - code = 1, - message = <<"">> - }, - efka_agent:feedback_phase(BootPhase), + micro_service_model:insert(Service#micro_service{status = 1}); + {error, Reason} -> + lager:debug("[efka_inetd] boot service get error: ~p", [Reason]), + efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"boot">>, 0, <<"boot failed">>), + micro_service_model:insert(Service#micro_service{status = 0}) + end, - micro_service_model:insert(Service#micro_service{status = 1}); - {error, Reason} -> - BootPhase = #feedback_phase{ - task_id = TaskId, - timestamp = efka_util:timestamp(), - phase = <<"boot">>, - code = 0, - message = <<"启动失败"/utf8>> - }, - efka_agent:feedback_phase(BootPhase), + {noreply, State#state{task_map = NTaskMap}}; - micro_service_model:insert(Service#micro_service{status = 0}) - end; - {error, Reason} -> - lager:debug("[efka_inetd] service: ~p, download get error: ~p", [Reason]), - %% 下载完整 - DownloadPhase = #feedback_phase{ - task_id = TaskId, - timestamp = efka_util:timestamp(), - phase = <<"download">>, - code = 0, - message = <<"下载失败"/utf8>> - }, - efka_agent:feedback_phase(DownloadPhase), +handle_info({'DOWN', Ref, process, _Pid, {error, Reason}}, State = #state{task_map = TaskMap}) -> + {{TaskId, _Service}, NTaskMap} = maps:take(Ref, TaskMap), - {noreply, State#state{task_map = NTaskMap}} - end - end; + lager:debug("[efka_inetd] service: ~p, download get error: ~p", [Reason]), + %% 下载完整 + efka_agent:feedback_phase(TaskId, efka_util:timestamp(), <<"download">>, 0, <<"下载失败">>), + + {noreply, State#state{task_map = NTaskMap}}; handle_info(_Info, State = #state{}) -> {noreply, State}. @@ -201,16 +169,10 @@ code_change(_OldVsn, State = #state{}, _Extra) -> %%% Internal functions %%%=================================================================== --spec ensure_dirs(RootDir :: string(), ServerId :: binary(), From :: binary()) -> {ok, ServerRootDir :: string()}. -ensure_dirs(RootDir, ServerId, From) when is_list(RootDir), is_binary(ServerId), is_binary(From) -> - {Name, Branch} = case string:split(binary_to_list(From), ":") of - [Name0] -> - {Name0, "master"}; - [Name0, Branch0 | _] -> - {Name0, Branch0} - end, +-spec ensure_dirs(RootDir :: string(), ServerId :: binary()) -> {ok, ServerRootDir :: string()}. +ensure_dirs(RootDir, ServerId) when is_list(RootDir), is_binary(ServerId) -> %% 根目录 - ServerRootDir = RootDir ++ Name ++ "/" ++ Branch ++ "/" ++ binary_to_list(ServerId) ++ "/", + ServerRootDir = RootDir ++ "/" ++ binary_to_list(ServerId) ++ "/", ok = filelib:ensure_dir(ServerRootDir), %% 工作逻辑,压缩文件需要解压到工作目录 WorkDir = ServerRootDir ++ "/work_dir/", @@ -240,14 +202,6 @@ check_download_url(Url) when is_list(Url) -> {error, Reason} end. -%% From的格式: dianbiao:1.0 --spec make_download_url(From :: binary()) -> string(). -make_download_url(From) when is_binary(From) -> - {ok, BaseUrl} = application:get_env(efka, repository_url), - From1 = binary_to_list(From), - Basename = lists:flatten(string:replace(From1, ":", "-")) ++ ".tar.gz", - BaseUrl ++ Basename. - -spec start_service(Service :: #micro_service{}) -> {ok, Pid :: pid()} | {error, Reason :: any()}. start_service(S = #micro_service{service_id = ServiceId}) -> %% 正常启动服务 diff --git a/apps/efka/src/proto/message_pb.erl b/apps/efka/src/proto/message_pb.erl index 95c3265..b90fc60 100644 --- a/apps/efka/src/proto/message_pb.erl +++ b/apps/efka/src/proto/message_pb.erl @@ -186,7 +186,7 @@ encode_msg_auth_request(#auth_request{uuid = F1, username = F2, salt = F3, token encode_msg_auth_reply(Msg, TrUserData) -> encode_msg_auth_reply(Msg, <<>>, TrUserData). -encode_msg_auth_reply(#auth_reply{code = F1, message = F2, repository_url = F3}, Bin, TrUserData) -> +encode_msg_auth_reply(#auth_reply{code = F1, message = F2}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -196,23 +196,13 @@ encode_msg_auth_reply(#auth_reply{code = F1, message = F2, repository_url = F3}, end end end, - B2 = if F2 == undefined -> B1; - true -> - begin - TrF2 = id(F2, TrUserData), - case is_empty_string(TrF2) of - true -> B1; - false -> e_type_string(TrF2, <>, TrUserData) - end - end - end, - if F3 == undefined -> B2; + if F2 == undefined -> B1; true -> begin - TrF3 = id(F3, TrUserData), - case is_empty_string(TrF3) of - true -> B2; - false -> e_type_string(TrF3, <>, TrUserData) + TrF2 = id(F2, TrUserData), + case is_empty_string(TrF2) of + true -> B1; + false -> e_type_string(TrF2, <>, TrUserData) end end end. @@ -234,7 +224,7 @@ encode_msg_activate_push(#activate_push{auth = F1}, Bin, TrUserData) -> encode_msg_deploy(Msg, TrUserData) -> encode_msg_deploy(Msg, <<>>, TrUserData). -encode_msg_deploy(#deploy{task_id = F1, from = F2, service_id = F3}, Bin, TrUserData) -> +encode_msg_deploy(#deploy{task_id = F1, service_id = F2, tar_url = F3}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -582,7 +572,7 @@ encode_msg_service_inform(#service_inform{service_id = F1, props = F2, status = encode_msg_feedback_phase(Msg, TrUserData) -> encode_msg_feedback_phase(Msg, <<>>, TrUserData). -encode_msg_feedback_phase(#feedback_phase{task_id = F1, timestamp = F2, phase = F3, code = F4, message = F5}, Bin, TrUserData) -> +encode_msg_feedback_phase(#feedback_phase{task_id = F1, timestamp = F2, phase = F3, code = F4}, Bin, TrUserData) -> B1 = if F1 == undefined -> Bin; true -> begin @@ -612,22 +602,12 @@ encode_msg_feedback_phase(#feedback_phase{task_id = F1, timestamp = F2, phase = end end end, - B4 = if F4 == undefined -> B3; - true -> - begin - TrF4 = id(F4, TrUserData), - if TrF4 =:= 0 -> B3; - true -> e_varint(TrF4, <>, TrUserData) - end - end - end, - if F5 == undefined -> B4; + if F4 == undefined -> B3; true -> begin - TrF5 = id(F5, TrUserData), - case is_empty_string(TrF5) of - true -> B4; - false -> e_type_string(TrF5, <>, TrUserData) + TrF4 = id(F4, TrUserData), + if TrF4 =:= 0 -> B3; + true -> e_type_int32(TrF4, <>, TrUserData) end end end. @@ -957,63 +937,56 @@ skip_32_auth_request(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F skip_64_auth_request(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_auth_request(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). -decode_msg_auth_reply(Bin, TrUserData) -> dfp_read_field_def_auth_reply(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). +decode_msg_auth_reply(Bin, TrUserData) -> dfp_read_field_def_auth_reply(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), TrUserData). -dfp_read_field_def_auth_reply(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_auth_reply_code(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_auth_reply(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_auth_reply_message(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_auth_reply(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_auth_reply_repository_url(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_auth_reply(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #auth_reply{code = F@_1, message = F@_2, repository_url = F@_3}; -dfp_read_field_def_auth_reply(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_auth_reply(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). +dfp_read_field_def_auth_reply(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_auth_reply_code(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_auth_reply(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> d_field_auth_reply_message(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +dfp_read_field_def_auth_reply(<<>>, 0, 0, _, F@_1, F@_2, _) -> #auth_reply{code = F@_1, message = F@_2}; +dfp_read_field_def_auth_reply(Other, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dg_read_field_def_auth_reply(Other, Z1, Z2, F, F@_1, F@_2, TrUserData). -dg_read_field_def_auth_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_auth_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -dg_read_field_def_auth_reply(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, TrUserData) -> +dg_read_field_def_auth_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 32 - 7 -> dg_read_field_def_auth_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +dg_read_field_def_auth_reply(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, TrUserData) -> Key = X bsl N + Acc, case Key of - 8 -> d_field_auth_reply_code(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 18 -> d_field_auth_reply_message(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 26 -> d_field_auth_reply_repository_url(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 8 -> d_field_auth_reply_code(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); + 18 -> d_field_auth_reply_message(Rest, 0, 0, 0, F@_1, F@_2, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 1 -> skip_64_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 2 -> skip_length_delimited_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 3 -> skip_group_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); - 5 -> skip_32_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData) + 0 -> skip_varint_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 1 -> skip_64_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 2 -> skip_length_delimited_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 3 -> skip_group_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData); + 5 -> skip_32_auth_reply(Rest, 0, 0, Key bsr 3, F@_1, F@_2, TrUserData) end end; -dg_read_field_def_auth_reply(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #auth_reply{code = F@_1, message = F@_2, repository_url = F@_3}. +dg_read_field_def_auth_reply(<<>>, 0, 0, _, F@_1, F@_2, _) -> #auth_reply{code = F@_1, message = F@_2}. -d_field_auth_reply_code(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_auth_reply_code(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_auth_reply_code(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, TrUserData) -> +d_field_auth_reply_code(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_auth_reply_code(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_auth_reply_code(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, TrUserData) -> {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, - dfp_read_field_def_auth_reply(RestF, 0, 0, F, NewFValue, F@_2, F@_3, TrUserData). + dfp_read_field_def_auth_reply(RestF, 0, 0, F, NewFValue, F@_2, TrUserData). -d_field_auth_reply_message(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_auth_reply_message(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_auth_reply_message(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, TrUserData) -> +d_field_auth_reply_message(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> d_field_auth_reply_message(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +d_field_auth_reply_message(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_auth_reply(RestF, 0, 0, F, F@_1, NewFValue, F@_3, TrUserData). + dfp_read_field_def_auth_reply(RestF, 0, 0, F, F@_1, NewFValue, TrUserData). -d_field_auth_reply_repository_url(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_auth_reply_repository_url(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_auth_reply_repository_url(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_auth_reply(RestF, 0, 0, F, F@_1, F@_2, NewFValue, TrUserData). +skip_varint_auth_reply(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> skip_varint_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData); +skip_varint_auth_reply(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -skip_varint_auth_reply(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> skip_varint_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -skip_varint_auth_reply(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). - -skip_length_delimited_auth_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> skip_length_delimited_auth_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -skip_length_delimited_auth_reply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) -> +skip_length_delimited_auth_reply(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) when N < 57 -> skip_length_delimited_auth_reply(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, TrUserData); +skip_length_delimited_auth_reply(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_auth_reply(Rest2, 0, 0, F, F@_1, F@_2, F@_3, TrUserData). + dfp_read_field_def_auth_reply(Rest2, 0, 0, F, F@_1, F@_2, TrUserData). -skip_group_auth_reply(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, TrUserData) -> +skip_group_auth_reply(Bin, _, Z2, FNum, F@_1, F@_2, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_auth_reply(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, TrUserData). + dfp_read_field_def_auth_reply(Rest, 0, Z2, FNum, F@_1, F@_2, TrUserData). -skip_32_auth_reply(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). +skip_32_auth_reply(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). -skip_64_auth_reply(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dfp_read_field_def_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). +skip_64_auth_reply(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_auth_reply(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData). decode_msg_activate_push(Bin, TrUserData) -> dfp_read_field_def_activate_push(Bin, 0, 0, 0, id(false, TrUserData), TrUserData). @@ -1062,9 +1035,9 @@ skip_64_activate_push(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, TrUserData) -> dfp decode_msg_deploy(Bin, TrUserData) -> dfp_read_field_def_deploy(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData). dfp_read_field_def_deploy(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_deploy_task_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_deploy(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_deploy_from(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_deploy(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_deploy_service_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); -dfp_read_field_def_deploy(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #deploy{task_id = F@_1, from = F@_2, service_id = F@_3}; +dfp_read_field_def_deploy(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_deploy_service_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_deploy(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> d_field_deploy_tar_url(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData); +dfp_read_field_def_deploy(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #deploy{task_id = F@_1, service_id = F@_2, tar_url = F@_3}; dfp_read_field_def_deploy(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData) -> dg_read_field_def_deploy(Other, Z1, Z2, F, F@_1, F@_2, F@_3, TrUserData). dg_read_field_def_deploy(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 32 - 7 -> dg_read_field_def_deploy(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); @@ -1072,8 +1045,8 @@ dg_read_field_def_deploy(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, Key = X bsl N + Acc, case Key of 8 -> d_field_deploy_task_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 18 -> d_field_deploy_from(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); - 26 -> d_field_deploy_service_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 18 -> d_field_deploy_service_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); + 26 -> d_field_deploy_tar_url(Rest, 0, 0, 0, F@_1, F@_2, F@_3, TrUserData); _ -> case Key band 7 of 0 -> skip_varint_deploy(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData); @@ -1083,20 +1056,20 @@ dg_read_field_def_deploy(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, 5 -> skip_32_deploy(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, TrUserData) end end; -dg_read_field_def_deploy(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #deploy{task_id = F@_1, from = F@_2, service_id = F@_3}. +dg_read_field_def_deploy(<<>>, 0, 0, _, F@_1, F@_2, F@_3, _) -> #deploy{task_id = F@_1, service_id = F@_2, tar_url = F@_3}. d_field_deploy_task_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_deploy_task_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); d_field_deploy_task_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, TrUserData) -> {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, dfp_read_field_def_deploy(RestF, 0, 0, F, NewFValue, F@_2, F@_3, TrUserData). -d_field_deploy_from(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_deploy_from(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_deploy_from(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, TrUserData) -> +d_field_deploy_service_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_deploy_service_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +d_field_deploy_service_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, dfp_read_field_def_deploy(RestF, 0, 0, F, F@_1, NewFValue, F@_3, TrUserData). -d_field_deploy_service_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_deploy_service_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); -d_field_deploy_service_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, TrUserData) -> +d_field_deploy_tar_url(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, TrUserData) when N < 57 -> d_field_deploy_tar_url(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, TrUserData); +d_field_deploy_tar_url(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, dfp_read_field_def_deploy(RestF, 0, 0, F, F@_1, F@_2, NewFValue, TrUserData). @@ -1678,77 +1651,70 @@ skip_32_service_inform(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, skip_64_service_inform(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_service_inform(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). -decode_msg_feedback_phase(Bin, TrUserData) -> dfp_read_field_def_feedback_phase(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), TrUserData). +decode_msg_feedback_phase(Bin, TrUserData) -> dfp_read_field_def_feedback_phase(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), TrUserData). -dfp_read_field_def_feedback_phase(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_feedback_phase_task_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -dfp_read_field_def_feedback_phase(<<16, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_feedback_phase_timestamp(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -dfp_read_field_def_feedback_phase(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_feedback_phase_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -dfp_read_field_def_feedback_phase(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_feedback_phase_code(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -dfp_read_field_def_feedback_phase(<<42, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> d_field_feedback_phase_message(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -dfp_read_field_def_feedback_phase(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, _) -> #feedback_phase{task_id = F@_1, timestamp = F@_2, phase = F@_3, code = F@_4, message = F@_5}; -dfp_read_field_def_feedback_phase(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dg_read_field_def_feedback_phase(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). +dfp_read_field_def_feedback_phase(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_feedback_phase_task_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +dfp_read_field_def_feedback_phase(<<16, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_feedback_phase_timestamp(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +dfp_read_field_def_feedback_phase(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_feedback_phase_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +dfp_read_field_def_feedback_phase(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_feedback_phase_code(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +dfp_read_field_def_feedback_phase(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #feedback_phase{task_id = F@_1, timestamp = F@_2, phase = F@_3, code = F@_4}; +dfp_read_field_def_feedback_phase(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dg_read_field_def_feedback_phase(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). -dg_read_field_def_feedback_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 32 - 7 -> dg_read_field_def_feedback_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -dg_read_field_def_feedback_phase(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> +dg_read_field_def_feedback_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 32 - 7 -> dg_read_field_def_feedback_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +dg_read_field_def_feedback_phase(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, TrUserData) -> Key = X bsl N + Acc, case Key of - 10 -> d_field_feedback_phase_task_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 16 -> d_field_feedback_phase_timestamp(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 26 -> d_field_feedback_phase_phase(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 32 -> d_field_feedback_phase_code(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 42 -> d_field_feedback_phase_message(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); + 10 -> d_field_feedback_phase_task_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 16 -> d_field_feedback_phase_timestamp(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 26 -> d_field_feedback_phase_phase(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); + 32 -> d_field_feedback_phase_code(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData); _ -> case Key band 7 of - 0 -> skip_varint_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 1 -> skip_64_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 2 -> skip_length_delimited_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 3 -> skip_group_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); - 5 -> skip_32_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) + 0 -> skip_varint_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); + 1 -> skip_64_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); + 2 -> skip_length_delimited_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); + 3 -> skip_group_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData); + 5 -> skip_32_feedback_phase(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData) end end; -dg_read_field_def_feedback_phase(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, _) -> #feedback_phase{task_id = F@_1, timestamp = F@_2, phase = F@_3, code = F@_4, message = F@_5}. +dg_read_field_def_feedback_phase(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #feedback_phase{task_id = F@_1, timestamp = F@_2, phase = F@_3, code = F@_4}. -d_field_feedback_phase_task_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_feedback_phase_task_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -d_field_feedback_phase_task_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, F@_5, TrUserData) -> +d_field_feedback_phase_task_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_feedback_phase_task_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +d_field_feedback_phase_task_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_feedback_phase(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, F@_5, TrUserData). + dfp_read_field_def_feedback_phase(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, TrUserData). -d_field_feedback_phase_timestamp(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_feedback_phase_timestamp(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -d_field_feedback_phase_timestamp(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, F@_5, TrUserData) -> +d_field_feedback_phase_timestamp(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_feedback_phase_timestamp(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +d_field_feedback_phase_timestamp(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, TrUserData) -> {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, - dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, F@_5, TrUserData). + dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, TrUserData). -d_field_feedback_phase_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_feedback_phase_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -d_field_feedback_phase_phase(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, F@_5, TrUserData) -> +d_field_feedback_phase_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_feedback_phase_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +d_field_feedback_phase_phase(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, TrUserData) -> {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, F@_5, TrUserData). + dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, TrUserData). -d_field_feedback_phase_code(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_feedback_phase_code(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -d_field_feedback_phase_code(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, F@_5, TrUserData) -> - {NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest}, - dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, F@_5, TrUserData). +d_field_feedback_phase_code(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_feedback_phase_code(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +d_field_feedback_phase_code(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, TrUserData) -> + {NewFValue, RestF} = {begin <> = <<(X bsl N + Acc):32/unsigned-native>>, id(Res, TrUserData) end, Rest}, + dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, TrUserData). -d_field_feedback_phase_message(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> d_field_feedback_phase_message(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -d_field_feedback_phase_message(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, _, TrUserData) -> - {NewFValue, RestF} = begin Len = X bsl N + Acc, <> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end, - dfp_read_field_def_feedback_phase(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, NewFValue, TrUserData). +skip_varint_feedback_phase(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> skip_varint_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +skip_varint_feedback_phase(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). -skip_varint_feedback_phase(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> skip_varint_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -skip_varint_feedback_phase(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). - -skip_length_delimited_feedback_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) when N < 57 -> skip_length_delimited_feedback_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData); -skip_length_delimited_feedback_phase(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> +skip_length_delimited_feedback_phase(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> skip_length_delimited_feedback_phase(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData); +skip_length_delimited_feedback_phase(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> Length = X bsl N + Acc, <<_:Length/binary, Rest2/binary>> = Rest, - dfp_read_field_def_feedback_phase(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). + dfp_read_field_def_feedback_phase(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, TrUserData). -skip_group_feedback_phase(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> +skip_group_feedback_phase(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData) -> {_, Rest} = read_group(Bin, FNum), - dfp_read_field_def_feedback_phase(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). + dfp_read_field_def_feedback_phase(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData). -skip_32_feedback_phase(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). +skip_32_feedback_phase(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). -skip_64_feedback_phase(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, TrUserData). +skip_64_feedback_phase(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_feedback_phase(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData). decode_msg_event(Bin, TrUserData) -> dfp_read_field_def_event(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), TrUserData). @@ -1972,7 +1938,7 @@ merge_msg_auth_request(#auth_request{uuid = PFuuid, username = PFusername, salt end}. -compile({nowarn_unused_function,merge_msg_auth_reply/3}). -merge_msg_auth_reply(#auth_reply{code = PFcode, message = PFmessage, repository_url = PFrepository_url}, #auth_reply{code = NFcode, message = NFmessage, repository_url = NFrepository_url}, _) -> +merge_msg_auth_reply(#auth_reply{code = PFcode, message = PFmessage}, #auth_reply{code = NFcode, message = NFmessage}, _) -> #auth_reply{code = if NFcode =:= undefined -> PFcode; true -> NFcode @@ -1980,10 +1946,6 @@ merge_msg_auth_reply(#auth_reply{code = PFcode, message = PFmessage, repository_ message = if NFmessage =:= undefined -> PFmessage; true -> NFmessage - end, - repository_url = - if NFrepository_url =:= undefined -> PFrepository_url; - true -> NFrepository_url end}. -compile({nowarn_unused_function,merge_msg_activate_push/3}). @@ -1994,18 +1956,18 @@ merge_msg_activate_push(#activate_push{auth = PFauth}, #activate_push{auth = NFa end}. -compile({nowarn_unused_function,merge_msg_deploy/3}). -merge_msg_deploy(#deploy{task_id = PFtask_id, from = PFfrom, service_id = PFservice_id}, #deploy{task_id = NFtask_id, from = NFfrom, service_id = NFservice_id}, _) -> +merge_msg_deploy(#deploy{task_id = PFtask_id, service_id = PFservice_id, tar_url = PFtar_url}, #deploy{task_id = NFtask_id, service_id = NFservice_id, tar_url = NFtar_url}, _) -> #deploy{task_id = if NFtask_id =:= undefined -> PFtask_id; true -> NFtask_id end, - from = - if NFfrom =:= undefined -> PFfrom; - true -> NFfrom - end, service_id = if NFservice_id =:= undefined -> PFservice_id; true -> NFservice_id + end, + tar_url = + if NFtar_url =:= undefined -> PFtar_url; + true -> NFtar_url end}. -compile({nowarn_unused_function,merge_msg_efka_response/3}). @@ -2157,8 +2119,7 @@ merge_msg_service_inform(#service_inform{service_id = PFservice_id, props = PFpr end}. -compile({nowarn_unused_function,merge_msg_feedback_phase/3}). -merge_msg_feedback_phase(#feedback_phase{task_id = PFtask_id, timestamp = PFtimestamp, phase = PFphase, code = PFcode, message = PFmessage}, - #feedback_phase{task_id = NFtask_id, timestamp = NFtimestamp, phase = NFphase, code = NFcode, message = NFmessage}, _) -> +merge_msg_feedback_phase(#feedback_phase{task_id = PFtask_id, timestamp = PFtimestamp, phase = PFphase, code = PFcode}, #feedback_phase{task_id = NFtask_id, timestamp = NFtimestamp, phase = NFphase, code = NFcode}, _) -> #feedback_phase{task_id = if NFtask_id =:= undefined -> PFtask_id; true -> NFtask_id @@ -2174,10 +2135,6 @@ merge_msg_feedback_phase(#feedback_phase{task_id = PFtask_id, timestamp = PFtime code = if NFcode =:= undefined -> PFcode; true -> NFcode - end, - message = - if NFmessage =:= undefined -> PFmessage; - true -> NFmessage end}. -compile({nowarn_unused_function,merge_msg_event/3}). @@ -2262,16 +2219,13 @@ v_msg_auth_request(X, Path, _TrUserData) -> mk_type_error({expected_msg, auth_re -compile({nowarn_unused_function,v_msg_auth_reply/3}). -dialyzer({nowarn_function,v_msg_auth_reply/3}). -v_msg_auth_reply(#auth_reply{code = F1, message = F2, repository_url = F3}, Path, TrUserData) -> +v_msg_auth_reply(#auth_reply{code = F1, message = F2}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_uint32(F1, [code | Path], TrUserData) end, if F2 == undefined -> ok; true -> v_type_string(F2, [message | Path], TrUserData) end, - if F3 == undefined -> ok; - true -> v_type_string(F3, [repository_url | Path], TrUserData) - end, ok; v_msg_auth_reply(X, Path, _TrUserData) -> mk_type_error({expected_msg, auth_reply}, X, Path). @@ -2286,15 +2240,15 @@ v_msg_activate_push(X, Path, _TrUserData) -> mk_type_error({expected_msg, activa -compile({nowarn_unused_function,v_msg_deploy/3}). -dialyzer({nowarn_function,v_msg_deploy/3}). -v_msg_deploy(#deploy{task_id = F1, from = F2, service_id = F3}, Path, TrUserData) -> +v_msg_deploy(#deploy{task_id = F1, service_id = F2, tar_url = F3}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_uint32(F1, [task_id | Path], TrUserData) end, if F2 == undefined -> ok; - true -> v_type_string(F2, [from | Path], TrUserData) + true -> v_type_string(F2, [service_id | Path], TrUserData) end, if F3 == undefined -> ok; - true -> v_type_string(F3, [service_id | Path], TrUserData) + true -> v_type_string(F3, [tar_url | Path], TrUserData) end, ok; v_msg_deploy(X, Path, _TrUserData) -> mk_type_error({expected_msg, deploy}, X, Path). @@ -2439,7 +2393,7 @@ v_msg_service_inform(X, Path, _TrUserData) -> mk_type_error({expected_msg, servi -compile({nowarn_unused_function,v_msg_feedback_phase/3}). -dialyzer({nowarn_function,v_msg_feedback_phase/3}). -v_msg_feedback_phase(#feedback_phase{task_id = F1, timestamp = F2, phase = F3, code = F4, message = F5}, Path, TrUserData) -> +v_msg_feedback_phase(#feedback_phase{task_id = F1, timestamp = F2, phase = F3, code = F4}, Path, TrUserData) -> if F1 == undefined -> ok; true -> v_type_string(F1, [task_id | Path], TrUserData) end, @@ -2450,10 +2404,7 @@ v_msg_feedback_phase(#feedback_phase{task_id = F1, timestamp = F2, phase = F3, c true -> v_type_string(F3, [phase | Path], TrUserData) end, if F4 == undefined -> ok; - true -> v_type_uint32(F4, [code | Path], TrUserData) - end, - if F5 == undefined -> ok; - true -> v_type_string(F5, [message | Path], TrUserData) + true -> v_type_int32(F4, [code | Path], TrUserData) end, ok; v_msg_feedback_phase(X, Path, _TrUserData) -> mk_type_error({expected_msg, feedback_phase}, X, Path). @@ -2572,15 +2523,12 @@ get_msg_defs() -> #field{name = salt, fnum = 4, rnum = 4, type = string, occurrence = optional, opts = []}, #field{name = token, fnum = 5, rnum = 5, type = string, occurrence = optional, opts = []}, #field{name = timestamp, fnum = 6, rnum = 6, type = uint32, occurrence = optional, opts = []}]}, - {{msg, auth_reply}, - [#field{name = code, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #field{name = message, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = repository_url, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}, + {{msg, auth_reply}, [#field{name = code, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, #field{name = message, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]}, {{msg, activate_push}, [#field{name = auth, fnum = 1, rnum = 2, type = bool, occurrence = optional, opts = []}]}, {{msg, deploy}, [#field{name = task_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #field{name = from, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = service_id, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}, + #field{name = service_id, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, + #field{name = tar_url, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]}, {{msg, efka_response}, [#field{name = code, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []}, #field{name = result, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, @@ -2618,8 +2566,7 @@ get_msg_defs() -> [#field{name = task_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = timestamp, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []}, #field{name = phase, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}, - #field{name = code, fnum = 4, rnum = 5, type = uint32, occurrence = optional, opts = []}, - #field{name = message, fnum = 5, rnum = 6, type = string, occurrence = optional, opts = []}]}, + #field{name = code, fnum = 4, rnum = 5, type = int32, occurrence = optional, opts = []}]}, {{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 = []}, @@ -2659,15 +2606,12 @@ find_msg_def(auth_request) -> #field{name = salt, fnum = 4, rnum = 4, type = string, occurrence = optional, opts = []}, #field{name = token, fnum = 5, rnum = 5, type = string, occurrence = optional, opts = []}, #field{name = timestamp, fnum = 6, rnum = 6, type = uint32, occurrence = optional, opts = []}]; -find_msg_def(auth_reply) -> - [#field{name = code, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #field{name = message, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = repository_url, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]; +find_msg_def(auth_reply) -> [#field{name = code, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, #field{name = message, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}]; find_msg_def(activate_push) -> [#field{name = auth, fnum = 1, rnum = 2, type = bool, occurrence = optional, opts = []}]; find_msg_def(deploy) -> [#field{name = task_id, fnum = 1, rnum = 2, type = uint32, occurrence = optional, opts = []}, - #field{name = from, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, - #field{name = service_id, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]; + #field{name = service_id, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, + #field{name = tar_url, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}]; find_msg_def(efka_response) -> [#field{name = code, fnum = 1, rnum = 2, type = int32, occurrence = optional, opts = []}, #field{name = result, fnum = 2, rnum = 3, type = string, occurrence = optional, opts = []}, @@ -2705,8 +2649,7 @@ find_msg_def(feedback_phase) -> [#field{name = task_id, fnum = 1, rnum = 2, type = string, occurrence = optional, opts = []}, #field{name = timestamp, fnum = 2, rnum = 3, type = uint32, occurrence = optional, opts = []}, #field{name = phase, fnum = 3, rnum = 4, type = string, occurrence = optional, opts = []}, - #field{name = code, fnum = 4, rnum = 5, type = uint32, occurrence = optional, opts = []}, - #field{name = message, fnum = 5, rnum = 6, type = string, occurrence = optional, opts = []}]; + #field{name = code, fnum = 4, rnum = 5, type = int32, occurrence = optional, opts = []}]; find_msg_def(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 = []}, diff --git a/efkafile.json b/efkafile.json index e94710b..784b6cf 100644 --- a/efkafile.json +++ b/efkafile.json @@ -1,7 +1,7 @@ { "from": "dianbiao:1.0", "server_id": "server_id:1234", - "args": { + "params": { }, "metrics": { diff --git a/message_pb.proto b/message_pb.proto index 6e265aa..5373ece 100644 --- a/message_pb.proto +++ b/message_pb.proto @@ -13,7 +13,6 @@ message AuthRequest { message AuthReply { uint32 code = 1; string message = 2; - string repository_url = 3; } // 激活信息 @@ -24,8 +23,8 @@ message ActivatePush { // 部署逻辑 message Deploy { uint32 task_id = 1; - string from = 2; - string service_id = 3; + string service_id = 2; + string tar_url = 3; } // efka响应 @@ -108,8 +107,7 @@ message FeedbackPhase { uint32 timestamp = 2; string phase = 3; // 0 标识失败, 1 成功 - uint32 code = 4; - string message = 5; + int32 code = 4; } message Event {