|
|
@ -68,6 +68,7 @@ moduleInit(Parent, Args) -> |
|
|
|
{200, _BodyMap, _HeaderMap} -> |
|
|
|
NewSrvState = SrvState#srvState{dbName = DbName, reConnState = agAgencyUtils:resetReConnState(ReConnState), socket = Socket, vstSize = VstSize}, |
|
|
|
proc_lib:init_ack(Parent, {ok, self()}), |
|
|
|
erlang:start_timer(?agKeepAliveTime, self(), keep_alive), |
|
|
|
?MODULE:loop(Parent, NewSrvState, CliState); |
|
|
|
_Err -> |
|
|
|
proc_lib:init_ack(Parent, {error, _Err}), |
|
|
@ -196,6 +197,15 @@ handleMsg({'$gen_call', FromTag, '$SrvInfo'}, SrvState, CliState) -> |
|
|
|
{To, Tag} = FromTag, |
|
|
|
catch To ! {Tag, {erlang:get(), SrvState, CliState}}, |
|
|
|
{ok, SrvState, CliState}; |
|
|
|
handleMsg({timeout, _TimerRef, keep_alive}, #srvState{socket = Socket} = SrvState, #cliState{backlogNum = BacklogNum} = CliState) -> |
|
|
|
case Socket /= undefined andalso BacklogNum =< 0 of |
|
|
|
true -> |
|
|
|
self() ! #agReq{method = ?AgGet, path = <<"/_admin/time">>, queryPars = ?AgDefQuery, headers = ?AgDefHeader, body = ?AgDefBody, messageId = agVstCli:getMsgId(), fromPid = undefined, overTime = infinity, isSystem = false}; |
|
|
|
_ -> |
|
|
|
ignore |
|
|
|
end, |
|
|
|
erlang:start_timer(?agKeepAliveTime, self(), keep_alive), |
|
|
|
{ok, SrvState, CliState}; |
|
|
|
handleMsg(Msg, #srvState{serverName = ServerName} = SrvState, CliState) -> |
|
|
|
?AgErr(ServerName, "unknown msg: ~p ~p ~p~n", [Msg, SrvState, CliState]), |
|
|
|
{ok, SrvState, CliState}. |
|
|
|