msg store

This commit is contained in:
Ery Lee 2015-04-16 09:29:53 +08:00
parent b7a2b66db0
commit a899dada12
4 changed files with 18 additions and 21 deletions

View File

@ -87,7 +87,7 @@ init_tables() ->
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
create_tables() -> create_tables() ->
%% trie tree 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_trie:mnesia(create),
ok = emqttd_pubsub:mnesia(create), ok = emqttd_pubsub:mnesia(create),
%% TODO: retained messages, this table should not be copied... %% TODO: retained messages, this table should not be copied...

View File

@ -20,13 +20,11 @@
%%% SOFTWARE. %%% SOFTWARE.
%%%----------------------------------------------------------------------------- %%%-----------------------------------------------------------------------------
%%% @doc %%% @doc
%%% emqttd retained messages. %%% MQTT retained message storage.
%%% %%%
%%% TODO: need to redesign later.
%%%
%%% @end %%% @end
%%%----------------------------------------------------------------------------- %%%-----------------------------------------------------------------------------
-module(emqttd_retained). -module(emqttd_msg_store).
-author('feng@slimpp.io'). -author('feng@slimpp.io').
@ -35,23 +33,22 @@
%% Mnesia callbacks %% Mnesia callbacks
-export([mnesia/1]). -export([mnesia/1]).
-mnesia_create({mnesia, [create]}). -boot_mnesia({mnesia, [boot]}).
-mnesia_replicate({mnesia, [replicate]}). -copy_mnesia({mnesia, [copy]}).
%% API Function Exports %% 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, [ ok = emqttd_mnesia:create_table(message, [
{type, ordered_set}, {type, ordered_set},
{ram_copies, [node()]}, {ram_copies, [node()]},
{record_name, mqtt_message}, {record_name, mqtt_message},
{attributes, record_info(fields, mqtt_message)}]); {attributes, record_info(fields, mqtt_message)}]);
mnesia(replicate) ->
mnesia(copy) ->
ok = emqttd_mnesia:copy_table(message). ok = emqttd_mnesia:copy_table(message).
%% @doc retain message. %% @doc retain message.
-spec retain(mqtt_message()) -> ok | ignore. -spec retain(mqtt_message()) -> ok | ignore.
retain(#mqtt_message{retain = false}) -> ignore; retain(#mqtt_message{retain = false}) -> ignore;

View File

@ -41,8 +41,8 @@
%% Mnesia Callbacks %% Mnesia Callbacks
-export([mnesia/1]). -export([mnesia/1]).
-mnesia_create({mnesia, [create]}). -boot_mnesia({mnesia, [boot]}).
-mnesia_replicate({mnesia, [replicate]}). -copy_mnesia({mnesia, [copy]}).
%% API Exports %% API Exports
-export([start_link/0]). -export([start_link/0]).
@ -63,7 +63,7 @@
%%%============================================================================= %%%=============================================================================
%%% Mnesia callbacks %%% Mnesia callbacks
%%%============================================================================= %%%=============================================================================
mnesia(create) -> mnesia(boot) ->
%% topic table %% topic table
ok = emqttd_mnesia:create_table(topic, [ ok = emqttd_mnesia:create_table(topic, [
{type, bag}, {type, bag},
@ -79,7 +79,7 @@ mnesia(create) ->
{index, [subpid]}, {index, [subpid]},
{local_content, true}]); {local_content, true}]);
mnesia(replicate) -> mnesia(copy) ->
ok = emqttd_mnesia:copy_table(topic), ok = emqttd_mnesia:copy_table(topic),
ok = emqttd_mnesia:copy_table(subscriber). ok = emqttd_mnesia:copy_table(subscriber).

View File

@ -33,8 +33,8 @@
%% Mnesia Callbacks %% Mnesia Callbacks
-export([mnesia/1]). -export([mnesia/1]).
-mnesia_create({mnesia, [create]}). -boot_mnesia({mnesia, [boot]}).
-mnesia_replicate({mnesia, [replicate]}). -copy_mnesia({mnesia, [copy]}).
%% Trie API %% Trie API
-export([insert/1, find/1, delete/1]). -export([insert/1, find/1, delete/1]).
@ -67,8 +67,8 @@
%% %%
%% @end %% @end
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
-spec mnesia(create | replicate) -> ok. -spec mnesia(boot | copy) -> ok.
mnesia(create) -> mnesia(boot) ->
%% trie tree tables %% trie tree tables
ok = emqttd_mnesia:create_table(trie, [ ok = emqttd_mnesia:create_table(trie, [
{ram_copies, [node()]}, {ram_copies, [node()]},
@ -85,7 +85,7 @@ mnesia(create) ->
%% %%
%% @end %% @end
%%------------------------------------------------------------------------------ %%------------------------------------------------------------------------------
mnesia(replicate) -> mnesia(copy) ->
ok = emqttd_mnesia:copy_table(trie), ok = emqttd_mnesia:copy_table(trie),
ok = emqttd_mnesia:copy_table(trie_node). ok = emqttd_mnesia:copy_table(trie_node).