fix cache
This commit is contained in:
parent
3183dee8cb
commit
43a263e109
@ -1,10 +0,0 @@
|
|||||||
%%%-------------------------------------------------------------------
|
|
||||||
%%% @author anlicheng
|
|
||||||
%%% @copyright (C) 2025, <COMPANY>
|
|
||||||
%%% @doc
|
|
||||||
%%%
|
|
||||||
%%% @end
|
|
||||||
%%% Created : 26. 8月 2025 14:42
|
|
||||||
%%%-------------------------------------------------------------------
|
|
||||||
-author("anlicheng").
|
|
||||||
|
|
||||||
@ -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(),
|
||||||
|
|||||||
@ -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}]};
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user