This commit is contained in:
Ery Lee 2015-01-20 15:42:05 +08:00
parent ffcb11896c
commit 1e93f5f513
3 changed files with 86 additions and 0 deletions

View File

@ -40,6 +40,7 @@
node_id :: binary() | atom(),
edge_count = 0 :: non_neg_integer(),
topic :: binary()
type = dynamic :: dynamic | static
}).
-record(topic_trie_edge, {

View File

@ -0,0 +1,51 @@
%%-----------------------------------------------------------------------------
%% Copyright (c) 2012-2015, Feng Lee <feng@emqtt.io>
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy
%% of this software and associated documentation files (the "Software"), to deal
%% in the Software without restriction, including without limitation the rights
%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
%% copies of the Software, and to permit persons to whom the Software is
%% furnished to do so, subject to the following conditions:
%%
%% The above copyright notice and this permission notice shall be included in all
%% copies or substantial portions of the Software.
%%
%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
%% SOFTWARE.
%%------------------------------------------------------------------------------
-module(emqtt_bridge_sup).
-author('feng@emqtt.io').
-behavior(supervisor).
-export([start_link/0, start_bridge/2, stop_bridge/1, init/1]).
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
%%TODO: FIXME LATER.
start_bridge(Name, Opts) when is_atom(Name) ->
supervisor:start_child(?MODULE, {{bridge, Name},
{eqmtt_bridge, start_link, [Opts]},
transient, 16#fffff, worker, [emqtt_bridge]}).
stop_bridge(Name) ->
ChildId = {bridge, Name},
case supervisor:terminate_child(?MODULE, ChildId) of
ok ->
supervisor:delete_child(?MODULE, ChildId);
{error, Reason} ->
{error, Reason}
end.
init([]) ->
{ok, {{one_for_one, 10, 1000}, []}}.

34
doc/broker.md Normal file
View File

@ -0,0 +1,34 @@
# Broker Topics
## Version
$SYS/broker/version
## Uptime
$SYS/broker/uptime
## Recevied and Sent
$SYS/broker/bytes/received
$SYS/broker/bytes/sent
$SYS/broker/packets/received
$SYS/broker/packets/sent
$SYS/broker/messages/received
$SYS/broker/messages/sent
$SYS/broker/messages/retained
$SYS/broker/messages/stored
$SYS/broker/messages/dropped
## Client Presence
$SYS/broker/clients/connected
$SYS/broker/clients/disconnected
$SYS/broker/clients/${clientId}/presences/online
$SYS/broker/clients/${clientId}presences/offline