1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
%% This Source Code Form is subject to the terms of the Mozilla Public
%% License, v. 2.0. If a copy of the MPL was not distributed with this
%% file, You can obtain one at https://mozilla.org/MPL/2.0/.
%%
%% The Initial Developer of the Original Code is AWeber Communications.
%% Copyright (c) 2015-2016 AWeber Communications
%% Copyright (c) 2016-2020 VMware, Inc. or its affiliates. All rights reserved.
%%
-module(rabbitmq_peer_discovery_etcd).
-behaviour(rabbit_peer_discovery_backend).
-export([init/0, list_nodes/0, supports_registration/0, register/0, unregister/0,
post_registration/0, lock/1, unlock/1]).
-define(DELEGATE, rabbit_peer_discovery_etcd).
%%
%% API
%%
init() ->
?DELEGATE:init().
-spec list_nodes() -> {ok, {Nodes :: list(), NodeType :: rabbit_types:node_type()}} |
{error, Reason :: string()}.
list_nodes() ->
?DELEGATE:list_nodes().
-spec supports_registration() -> boolean().
supports_registration() ->
?DELEGATE:supports_registration().
-spec register() -> ok.
register() ->
?DELEGATE:register().
-spec unregister() -> ok.
unregister() ->
?DELEGATE:unregister().
-spec post_registration() -> ok | {error, Reason :: string()}.
post_registration() ->
?DELEGATE:post_registration().
-spec lock(Node :: atom()) -> not_supported.
lock(Node) ->
?DELEGATE:lock(Node).
-spec unlock(Data :: term()) -> ok.
unlock(Data) ->
?DELEGATE:unlock(Data).
|