fix cache

This commit is contained in:
anlicheng 2025-09-26 14:07:18 +08:00
parent 3183dee8cb
commit 43a263e109
4 changed files with 4 additions and 21 deletions

View File

@ -1,10 +0,0 @@
%%%-------------------------------------------------------------------
%%% @author anlicheng
%%% @copyright (C) 2025, <COMPANY>
%%% @doc
%%%
%%% @end
%%% Created : 26. 8 2025 14:42
%%%-------------------------------------------------------------------
-author("anlicheng").

View File

@ -20,12 +20,6 @@
status = 0 status = 0
}). }).
%%
-record(cache, {
id = 0 :: integer(),
data :: binary()
}).
%% %%
-record(task_log, { -record(task_log, {
task_id = 0 :: integer(), task_id = 0 :: integer(),

View File

@ -226,7 +226,7 @@ handle_event(info, {auth_reply, Reply}, ?STATE_AUTH, State = #state{transport_pi
%% %%
handle_event(info, flush_cache, ?STATE_ACTIVATED, State = #state{transport_pid = TransportPid}) -> handle_event(info, flush_cache, ?STATE_ACTIVATED, State = #state{transport_pid = TransportPid}) ->
case cache_model:fetch_next() of case cache_model:fetch_next() of
{ok, #cache{id = Id, data = Packet}} -> {ok, {Id, Packet}} ->
efka_transport:send(TransportPid, Packet), efka_transport:send(TransportPid, Packet),
cache_model:delete(Id), cache_model:delete(Id),
{keep_state, State, [{next_event, info, flush_cache}]}; {keep_state, State, [{next_event, info, flush_cache}]};

View File

@ -32,8 +32,7 @@
-spec insert(Data :: binary()) -> ok | {error, Reason :: any()}. -spec insert(Data :: binary()) -> ok | {error, Reason :: any()}.
insert(Data) when is_binary(Data) -> insert(Data) when is_binary(Data) ->
Cache = #cache{id = generate_id(), data = Data}, gen_server:call(?SERVER, {insert, {generate_id(), Data}}).
gen_server:call(?SERVER, {insert, Cache}).
fetch_next() -> fetch_next() ->
gen_server:call(?SERVER, fetch_next). gen_server:call(?SERVER, fetch_next).
@ -41,7 +40,7 @@ fetch_next() ->
delete(Id) when is_integer(Id) -> delete(Id) when is_integer(Id) ->
gen_server:call(?SERVER, {delete, Id}). gen_server:call(?SERVER, {delete, Id}).
-spec get_all_cache() -> [#cache{}]. -spec get_all_cache() -> [binary()].
get_all_cache() -> get_all_cache() ->
gen_server:call(?SERVER, get_all_cache). gen_server:call(?SERVER, get_all_cache).
@ -63,7 +62,7 @@ start_link() ->
init([]) -> init([]) ->
{ok, DetsDir} = application:get_env(efka, dets_dir), {ok, DetsDir} = application:get_env(efka, dets_dir),
File = DetsDir ++ "cache.dets", File = DetsDir ++ "cache.dets",
{ok, ?TAB} = dets:open_file(?TAB, [{file, File}, {type, bag}, {keypos, 2}]), {ok, ?TAB} = dets:open_file(?TAB, [{file, File}, {type, bag}, {keypos, 1}]),
{ok, #state{}}. {ok, #state{}}.
%% @private %% @private