From a5cac277c140bc2dde5a1edb5127fa9c8d6979b1 Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Tue, 13 Jun 2017 10:33:56 +0800 Subject: [PATCH] Add cluster_nodes/1 function --- src/emqttd_mnesia.erl | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/emqttd_mnesia.erl b/src/emqttd_mnesia.erl index 31fa88d3a..d8e0f88af 100644 --- a/src/emqttd_mnesia.erl +++ b/src/emqttd_mnesia.erl @@ -27,7 +27,7 @@ %% Cluster mnesia -export([join_cluster/1, cluster_status/0, leave_cluster/0, - remove_from_cluster/1, running_nodes/0]). + remove_from_cluster/1, cluster_nodes/1, running_nodes/0]). %% Schema and tables -export([copy_schema/1, delete_schema/0, del_schema_copy/1, @@ -213,10 +213,18 @@ connect(Node) -> Error -> Error end. -%% @doc Running nodes +%% @doc Running nodes. -spec(running_nodes() -> list(node())). -running_nodes() -> - mnesia:system_info(running_db_nodes). +running_nodes() -> cluster_nodes(running). + +%% @doc Cluster nodes. +-spec(cluster_nodes(all | running | stopped) -> [node()]). +cluster_nodes(all) -> + mnesia:system_info(db_nodes); +cluster_nodes(running) -> + mnesia:system_info(running_db_nodes); +cluster_nodes(stopped) -> + cluster_nodes(all) -- cluster_nodes(running). %% @private ensure_ok(ok) -> ok;