msg store
This commit is contained in:
parent
b7a2b66db0
commit
a899dada12
|
@ -87,7 +87,7 @@ init_tables() ->
|
|||
%%------------------------------------------------------------------------------
|
||||
create_tables() ->
|
||||
%% trie tree tables
|
||||
%%TODO: should use module 'mnesia_create' attribute...
|
||||
%%TODO: should use module 'boot_mnesia' attribute...
|
||||
ok = emqttd_trie:mnesia(create),
|
||||
ok = emqttd_pubsub:mnesia(create),
|
||||
%% TODO: retained messages, this table should not be copied...
|
||||
|
|
|
@ -20,13 +20,11 @@
|
|||
%%% SOFTWARE.
|
||||
%%%-----------------------------------------------------------------------------
|
||||
%%% @doc
|
||||
%%% emqttd retained messages.
|
||||
%%%
|
||||
%%% TODO: need to redesign later.
|
||||
%%% MQTT retained message storage.
|
||||
%%%
|
||||
%%% @end
|
||||
%%%-----------------------------------------------------------------------------
|
||||
-module(emqttd_retained).
|
||||
-module(emqttd_msg_store).
|
||||
|
||||
-author('feng@slimpp.io').
|
||||
|
||||
|
@ -35,23 +33,22 @@
|
|||
%% Mnesia callbacks
|
||||
-export([mnesia/1]).
|
||||
|
||||
-mnesia_create({mnesia, [create]}).
|
||||
-mnesia_replicate({mnesia, [replicate]}).
|
||||
-boot_mnesia({mnesia, [boot]}).
|
||||
-copy_mnesia({mnesia, [copy]}).
|
||||
|
||||
%% API Function Exports
|
||||
-export([retain/1, redeliver/2]).
|
||||
-export([retain/1, read/2, delete/1]).
|
||||
|
||||
mnesia(create) ->
|
||||
mnesia(boot) ->
|
||||
ok = emqttd_mnesia:create_table(message, [
|
||||
{type, ordered_set},
|
||||
{ram_copies, [node()]},
|
||||
{record_name, mqtt_message},
|
||||
{attributes, record_info(fields, mqtt_message)}]);
|
||||
mnesia(replicate) ->
|
||||
|
||||
mnesia(copy) ->
|
||||
ok = emqttd_mnesia:copy_table(message).
|
||||
|
||||
|
||||
|
||||
%% @doc retain message.
|
||||
-spec retain(mqtt_message()) -> ok | ignore.
|
||||
retain(#mqtt_message{retain = false}) -> ignore;
|
|
@ -41,8 +41,8 @@
|
|||
%% Mnesia Callbacks
|
||||
-export([mnesia/1]).
|
||||
|
||||
-mnesia_create({mnesia, [create]}).
|
||||
-mnesia_replicate({mnesia, [replicate]}).
|
||||
-boot_mnesia({mnesia, [boot]}).
|
||||
-copy_mnesia({mnesia, [copy]}).
|
||||
|
||||
%% API Exports
|
||||
-export([start_link/0]).
|
||||
|
@ -63,7 +63,7 @@
|
|||
%%%=============================================================================
|
||||
%%% Mnesia callbacks
|
||||
%%%=============================================================================
|
||||
mnesia(create) ->
|
||||
mnesia(boot) ->
|
||||
%% topic table
|
||||
ok = emqttd_mnesia:create_table(topic, [
|
||||
{type, bag},
|
||||
|
@ -79,7 +79,7 @@ mnesia(create) ->
|
|||
{index, [subpid]},
|
||||
{local_content, true}]);
|
||||
|
||||
mnesia(replicate) ->
|
||||
mnesia(copy) ->
|
||||
ok = emqttd_mnesia:copy_table(topic),
|
||||
ok = emqttd_mnesia:copy_table(subscriber).
|
||||
|
||||
|
|
|
@ -33,8 +33,8 @@
|
|||
%% Mnesia Callbacks
|
||||
-export([mnesia/1]).
|
||||
|
||||
-mnesia_create({mnesia, [create]}).
|
||||
-mnesia_replicate({mnesia, [replicate]}).
|
||||
-boot_mnesia({mnesia, [boot]}).
|
||||
-copy_mnesia({mnesia, [copy]}).
|
||||
|
||||
%% Trie API
|
||||
-export([insert/1, find/1, delete/1]).
|
||||
|
@ -67,8 +67,8 @@
|
|||
%%
|
||||
%% @end
|
||||
%%------------------------------------------------------------------------------
|
||||
-spec mnesia(create | replicate) -> ok.
|
||||
mnesia(create) ->
|
||||
-spec mnesia(boot | copy) -> ok.
|
||||
mnesia(boot) ->
|
||||
%% trie tree tables
|
||||
ok = emqttd_mnesia:create_table(trie, [
|
||||
{ram_copies, [node()]},
|
||||
|
@ -85,7 +85,7 @@ mnesia(create) ->
|
|||
%%
|
||||
%% @end
|
||||
%%------------------------------------------------------------------------------
|
||||
mnesia(replicate) ->
|
||||
mnesia(copy) ->
|
||||
ok = emqttd_mnesia:copy_table(trie),
|
||||
ok = emqttd_mnesia:copy_table(trie_node).
|
||||
|
||||
|
|
Loading…
Reference in New Issue