msg store
This commit is contained in:
parent
b7a2b66db0
commit
a899dada12
|
@ -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...
|
||||||
|
|
|
@ -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;
|
|
@ -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).
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue