-module(gs1). -vsn(2). -behaviour(gen_server). -export([get_data/0, get_time/0]). -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]). -record(state, {data, time}). get_data() -> gen_server:call(gs1, get_data). get_time() -> gen_server:call(gs1, get_time). init([Data]) -> {ok, #state{data = Data, time = erlang:time()}}. handle_call(get_data, _From, State) -> {reply, {ok, State#state.data}, State}; handle_call(get_time, _From, State) -> {reply, {ok, State#state.time}, State}. handle_cast(_Request, State) -> {noreply, State}. handle_info(_Info, State) -> {noreply, State}. terminate(_Reason, _State) -> ok. code_change(1, {state, Data}, _Extra) -> {ok, #state{data = Data, time = erlang:time()}}.