Skip to content

Commit 787b29b

Browse files
feat: refactor delay PUBACK handling to use a defined table macro
1 parent 80ef5df commit 787b29b

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

apps/vmq_server/src/vmq_delay_puback_cli.erl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
-export([register_cli/0]).
33
-behaviour(clique_handler).
44

5+
-define(DELAY_PUBACK_TBL, vmq_delay_puback_table).
6+
57
register_cli() ->
68
clique:register_usage(["vmq-admin", "delay_puback"], delay_puback_usage()),
79
clique:register_usage(["vmq-admin", "delay_puback", "show"], show_usage()),
@@ -25,7 +27,7 @@ enable_cmd() ->
2527
Cmd = ["vmq-admin", "delay_puback", "enable"],
2628
KeySpecs = [acl_name_keyspec()],
2729
Callback = fun(_, [{acl_name, Name}], _) ->
28-
ets:insert(vmq_delay_puback_cache, {Name}),
30+
ets:insert(?DELAY_PUBACK_TBL, {Name}),
2931
Config = vmq_config:get_env(delay_puback_config, []),
3032
NewConfig = lists:usort([Name | Config]),
3133
vmq_config:set_global_env(vmq_server, delay_puback_config, NewConfig, true),
@@ -37,7 +39,7 @@ disable_cmd() ->
3739
Cmd = ["vmq-admin", "delay_puback", "disable"],
3840
KeySpecs = [acl_name_keyspec()],
3941
Callback = fun(_, [{acl_name, Name}], _) ->
40-
ets:delete(vmq_delay_puback_cache, Name),
42+
ets:delete(?DELAY_PUBACK_TBL, Name),
4143
Config = vmq_config:get_env(delay_puback_config, []),
4244
NewConfig = lists:delete(Name, Config),
4345
vmq_config:set_global_env(vmq_server, delay_puback_config, NewConfig, true),

apps/vmq_server/src/vmq_mqtt_fsm.erl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
-define(IS_PROTO_3(X), X =:= 3; X =:= 131).
3232
-define(IS_BRIDGE(X), X =:= 131; X =:= 132).
3333

34+
-define(DELAY_PUBACK_TBL, vmq_delay_puback_table).
35+
3436
-type timestamp() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}.
3537

3638
-record(state, {
@@ -1789,4 +1791,4 @@ extract_qos({QoS, _SubInfo}) -> QoS.
17891791
should_delay_puback(undefined, _State) ->
17901792
false;
17911793
should_delay_puback(AclName, _State) ->
1792-
ets:member(vmq_delay_puback_cache, AclName).
1794+
ets:member(?DELAY_PUBACK_TBL, AclName).

apps/vmq_server/src/vmq_server_app.erl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
%% Application callbacks
2020
-export([start/2, stop/1]).
2121

22+
-define(DELAY_PUBACK_TBL, vmq_delay_puback_table).
23+
2224
%% ===================================================================
2325
%% Application callbacks
2426
%% ===================================================================
@@ -29,7 +31,7 @@ start(_StartType, _StartArgs) ->
2931
{error, _} = E ->
3032
E;
3133
R ->
32-
ets:new(vmq_delay_puback_cache, [named_table, public, set, {read_concurrency, true}]),
34+
ets:new(?DELAY_PUBACK_TBL, [named_table, public, set, {read_concurrency, true}]),
3335
{ok, _pid} = vmq_message_store:start(),
3436
%% we'll wait for some millis, this
3537
%% enables the vmq_plugin mechanism to be prepared...
@@ -40,7 +42,7 @@ start(_StartType, _StartArgs) ->
4042
start_user_plugins(),
4143
vmq_config:configure_node(),
4244
Config = vmq_config:get_env(delay_puback_config, []),
43-
[ets:insert(vmq_delay_puback_cache, {Name}) || Name <- Config],
45+
[ets:insert(?DELAY_PUBACK_TBL, {Name}) || Name <- Config],
4446
R
4547
end.
4648

0 commit comments

Comments
 (0)