|
|
- %% ---------------------------------------------------------------------------
- %% @doc gen_server模板
- %% @author hek
- %% @since 2016-11-14
- %% @deprecated
- %% ---------------------------------------------------------------------------
-
- -define(DEBUG_MODULE, none).
- -define(DEBUG_REQUEST, none).
- -define(LOCAL_DEBUG(Format, Args),
- case ?MODULE of
- ?DEBUG_MODULE -> ?PRINT(Format, Args);
- _ -> skip
- end
- ).
- -define(LOCAL_DEBUG(Request, Format, Args),
- case {?MODULE, Request} of
- {?DEBUG_MODULE, DEBUG_REQUEST} -> ?PRINT(Format, Args);
- _ -> skip
- end
- ).
-
- %% --------------------------------------------------------------------------
- %% Function: init/1
- %% Description: Initiates the server
- %% Returns: {ok, State} |
- %% {ok, State, Timeout} |
- %% ignore |
- %% {stop, Reason}
- %% --------------------------------------------------------------------------
- -define(DO_INIT(Args),
- case catch do_init(Args) of
- {'EXIT', Reason} ->
- ?ERR("init error:~n~p~n", [Reason]),
- {stop, Reason};
- {ok, State} ->
- {ok, State};
- Other ->
- {stop, Other}
- end
- ).
-
- %% --------------------------------------------------------------------------
- %% Function: handle_call/3
- %% Description: Handling call messages
- %% Returns: {reply, Reply, State} |
- %% {reply, Reply, State, Timeout} |
- %% {noreply, State} |
- %% {noreply, State, Timeout} |
- %% {stop, Reason, Reply, State} | (terminate/2 is called)
- %% {stop, Reason, State} (terminate/2 is called)
- %% --------------------------------------------------------------------------
- -define(DO_HANDLE_CALL(Request, From, State),
- case catch do_handle_call(Request, From, State) of
- {'EXIT', Reason} ->
- ?ERR("handle_call error:~n~p~n", [Reason]),
- {reply, error, State};
- {reply, Reply, NewState} ->
- {reply, Reply, NewState};
- _ ->
- {reply, true, State}
- end
- ).
-
- %% --------------------------------------------------------------------------
- %% Function: handle_cast/2
- %% Description: Handling cast messages
- %% Returns: {noreply, State} |
- %% {noreply, State, Timeout} |
- %% {stop, Reason, State} (terminate/2 is called)
- %% --------------------------------------------------------------------------
- -define(DO_HANDLE_CAST(Msg, State),
- case catch do_handle_cast(Msg, State) of
- {'EXIT', Reason} ->
- ?ERR("handle_cast error:~n~p~n", [Reason]),
- {noreply, State};
- {noreply, NewState} ->
- {noreply, NewState};
- {stop, normal, NewState} ->
- {stop, normal, NewState};
- _ ->
- {noreply, State}
- end
- ).
-
- %% --------------------------------------------------------------------------
- %% Function: handle_info/2
- %% Description: Handling all non call/cast messages
- %% Returns: {noreply, State} |
- %% {noreply, State, Timeout} |
- %% {stop, Reason, State} (terminate/2 is called)
- %% --------------------------------------------------------------------------
- -define(DO_HANDLE_INFO(Info, State),
- case catch do_handle_info(Info, State) of
- {'EXIT', Reason} ->
- ?ERR("handle_info error:~n~p~n", [Reason]),
- {noreply, State};
- {noreply, NewState} ->
- {noreply, NewState};
- _ ->
- {noreply, State}
- end
- ).
-
- %% --------------------------------------------------------------------------
- %% Function: terminate/2
- %% Description: Shutdown the server
- %% Returns: any (ignored by gen_server)
- %% --------------------------------------------------------------------------
- -define(DO_TERMINATE(Reason, State),
- case catch do_terminate(Reason, State) of
- ok -> ok;
- {'EXIT', Reason} ->
- ?ERR("terminate error:~n~p~n", [Reason]),
- {noreply, State};
- {noreply, NewState} ->
- {noreply, NewState};
- _ ->
- {noreply, State}
- end
- ).
-
- %% --------------------------------------------------------------------------
- %% Func: code_change/3
- %% Purpose: Convert process state when code is changed
- %% Returns: {ok, NewState}
- %% --------------------------------------------------------------------------
- -define(DO_CODE_CHANGE(OldVsn, State, Extra),
- case catch do_code_change(OldVsn, State, Extra) of
- {ok, NewState} -> {ok, NewState};
- {'EXIT', Reason} ->
- ?ERR("code_change error:~n~p~n", [Reason]),
- {ok, State};
- {noreply, NewState} ->
- {ok, NewState};
- _ ->
- {ok, State}
- end
- ).
|