del retain subscription presence conf
This commit is contained in:
parent
eb9c11f321
commit
bd4685cd73
|
@ -169,37 +169,6 @@ mqtt.plugins.etc_dir = etc/plugins/
|
|||
## File to store loaded plugin names.
|
||||
mqtt.plugins.loaded_file = data/loaded_plugins
|
||||
|
||||
##-------------------------------------------------------------------
|
||||
## MQTT Modules
|
||||
##-------------------------------------------------------------------
|
||||
|
||||
## Enable retainer module
|
||||
mqtt.module.retainer = on
|
||||
|
||||
## disc: disc_copies, ram: ram_copies
|
||||
mqtt.module.retainer.storage_type = ram
|
||||
|
||||
## Max number of retained messages
|
||||
mqtt.module.retainer.max_message_num = 100000
|
||||
|
||||
## Max Payload Size of retained message
|
||||
mqtt.module.retainer.max_payload_size = 64KB
|
||||
|
||||
## Expired after seconds, never expired if 0
|
||||
mqtt.module.retainer.expired_after = 0
|
||||
|
||||
## Enable presence module
|
||||
## Publish presence messages when client connected or disconnected.
|
||||
mqtt.module.presence = on
|
||||
|
||||
mqtt.module.presence.qos = 0
|
||||
|
||||
## Enable subscription module
|
||||
## Subscribe topics automatically when client connected
|
||||
mqtt.module.subscription = on
|
||||
|
||||
mqtt.module.subscription.topics = $client/%c=1,$user/%u=1
|
||||
|
||||
##--------------------------------------------------------------------
|
||||
## MQTT Listeners
|
||||
##--------------------------------------------------------------------
|
||||
|
@ -237,7 +206,7 @@ mqtt.listener.ssl.max_clients = 512
|
|||
|
||||
## Configuring SSL Options
|
||||
## See http://erlang.org/doc/man/ssl.html
|
||||
mqtt.listener.ssl.handshake_timeout = 15
|
||||
mqtt.listener.ssl.handshake_timeout = 2000
|
||||
mqtt.listener.ssl.keyfile = etc/certs/key.pem
|
||||
mqtt.listener.ssl.certfile = etc/certs/cert.pem
|
||||
## mqtt.listener.ssl.cacertfile = etc/certs/cacert.pem
|
||||
|
|
|
@ -636,83 +636,6 @@ end}.
|
|||
lists:append([Listeners(tcp), Listeners(ssl), Listeners(http), Listeners(https)])
|
||||
end}.
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% MQTT Modules
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
{mapping, "mqtt.module.retainer", "emqttd.modules", [
|
||||
{default, on},
|
||||
{datatype, flag}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.retainer.storage_type", "emqttd.modules", [
|
||||
{default, ram},
|
||||
{datatype, {enum, [disc, ram]}}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.retainer.max_message_num", "emqttd.modules", [
|
||||
{default, 100000},
|
||||
{datatype, integer}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.retainer.max_payload_size", "emqttd.modules", [
|
||||
{default, "64KB"},
|
||||
{datatype, bytesize}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.retainer.expired_after", "emqttd.modules", [
|
||||
{default, 0},
|
||||
{datatype, integer}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.presence", "emqttd.modules", [
|
||||
{default, on},
|
||||
{datatype, flag}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.presence.qos", "emqttd.modules", [
|
||||
{default, 0},
|
||||
{datatype, integer},
|
||||
{validators, ["range:0-2"]}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.subscription", "emqttd.modules", [
|
||||
{default, off},
|
||||
{datatype, flag}
|
||||
]}.
|
||||
|
||||
{mapping, "mqtt.module.subscription.topics", "emqttd.modules", [
|
||||
{default, undefined},
|
||||
{datatype, string}
|
||||
]}.
|
||||
|
||||
{translation, "emqttd.modules", fun(Conf) ->
|
||||
WithMod = fun(Name, OptsF) ->
|
||||
Key = "mqtt.module." ++ atom_to_list(Name),
|
||||
case cuttlefish:conf_get(Key, Conf, false) of
|
||||
true -> [{Name, OptsF(Key)}];
|
||||
false -> []
|
||||
end
|
||||
end,
|
||||
RetainOpts = fun(Prefix) ->
|
||||
[{storage_type, cuttlefish:conf_get(Prefix ++ ".storage_type", Conf, ram)},
|
||||
{max_message_num, cuttlefish:conf_get(Prefix ++ ".max_message_num", Conf, undefined)},
|
||||
{max_payload_size, cuttlefish:conf_get(Prefix ++ ".max_payload_size", Conf, undefined)},
|
||||
{expired_after, cuttlefish:conf_get(Prefix ++ ".expired_after", Conf, 0)}]
|
||||
end,
|
||||
PresOpts = fun(Prefix) ->
|
||||
[{qos, cuttlefish:conf_get(Prefix ++ ".qos", Conf, 0)}]
|
||||
end,
|
||||
ParseFun = fun(undefined) -> [];
|
||||
(Topics) -> [begin
|
||||
[Topic, Qos] = string:tokens(S, "="),
|
||||
{list_to_binary(Topic), list_to_integer(Qos)}
|
||||
end || S <- string:tokens(Topics, ",")]
|
||||
end,
|
||||
SubOpts = fun(Prefix) -> ParseFun(cuttlefish:conf_get(Prefix ++ ".topics", Conf)) end,
|
||||
lists:append([WithMod(retainer, RetainOpts), WithMod(presence, PresOpts), WithMod(subscription, SubOpts)])
|
||||
end}.
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% System Monitor
|
||||
%%--------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue