diff --git a/apps/efka/src/efka_agent.erl b/apps/efka/src/efka_agent.erl index 9c25868..67115ea 100644 --- a/apps/efka/src/efka_agent.erl +++ b/apps/efka/src/efka_agent.erl @@ -200,7 +200,8 @@ handle_info({timeout, _, create_transport}, State = #state{status = ?STATE_DENIE {noreply, State#state{status = ?STATE_CONNECTING, transport_pid = TransportPid}}; -handle_info({connect_reply, Reply}, State = #state{status = ?STATE_CONNECTING, transport_pid = TransportPid}) -> +%% 收到连接回复 +handle_info({connect_reply, Reply}, State = #state{status = ?STATE_CONNECTING, transport_pid = TransportPid}) when is_pid(TransportPid) -> case Reply of ok -> efka_transport:auth_request(TransportPid, 5000), @@ -211,7 +212,8 @@ handle_info({connect_reply, Reply}, State = #state{status = ?STATE_CONNECTING, t {noreply, ?STATE_DENIED, State#state{status = ?STATE_DENIED}} end; -handle_info({auth_reply, {ok, ReplyBin}}, State = #state{status = ?STATE_AUTH, transport_pid = TransportPid}) -> +%% 收到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), case Code of 0 -> @@ -372,7 +374,7 @@ handle_info({server_push_message, PacketId, <<16:8, Directive/binary>>}, State = %% transport进程退出 handle_info({'EXIT', TransportPid, Reason}, State = #state{transport_pid = TransportPid}) -> efka_logger:debug("[efka_agent] transport pid: ~p, exit with reason: ~p", [TransportPid, Reason]), - erlang:start_timer(500000, self(), create_transport), + erlang:start_timer(5000, self(), create_transport), {noreply, State#state{transport_pid = undefined, status = ?STATE_DENIED}}; handle_info(_Info, State = #state{}) ->