Copyright © 2007-2015 Zuse Institute Berlin
Version: $Id$
Authors: Thorsten Schuett (schuett@zib.de).
connection() = {null | pos_integer(), comm:mypid()}
join_message() =
{join, start} |
{get_dht_nodes_response, Nodes :: [node:node_type()]} |
{join,
get_number_of_samples,
Samples :: non_neg_integer(),
Conn :: connection()} |
{join,
get_candidate_response,
OrigJoinId :: rt_chord:key(),
Candidate :: lb_op:lb_op(),
Conn :: connection()} |
{join,
join_response,
Succ :: node:node_type(),
Pred :: node:node_type(),
MoveFullId :: slide_op:id(),
CandId :: lb_op:id(),
TargetId :: rt_chord:key(),
NextOp :: slide_op:next_op()} |
{join,
join_response,
not_responsible | busy,
CandId :: lb_op:id()} |
{join, known_hosts_timeout, JoinUUId :: pos_integer()} |
{join,
lookup_timeout,
Conn :: connection(),
JoinId :: rt_chord:key(),
JoinUUId :: pos_integer()} |
{join,
get_number_of_samples_timeout,
Conn :: connection(),
JoinUUId :: pos_integer()} |
{join,
join_request_timeout,
Timeouts :: non_neg_integer(),
CandId :: lb_op:id(),
JoinUUId :: pos_integer()} |
{join, timeout, JoinUUId :: pos_integer()} |
{join,
number_of_samples_request,
SourcePid :: comm:mypid(),
LbPsv :: module(),
Conn :: connection()} |
{join,
get_candidate,
Source_PID :: comm:mypid(),
Key :: rt_chord:key(),
LbPsv :: module(),
Conn :: connection()} |
{join,
join_request,
NewPred :: node:node_type(),
CandId :: lb_op:id(),
MaxTransportEntries :: unknown | pos_integer()} |
{join,
LbPsv :: module(),
Msg ::
lb_psv_simple:custom_message() |
lb_psv_split:custom_message() |
lb_psv_gossip:custom_message(),
LbPsvState :: term()}
join_state() =
{join,
{phase1,
JoinUUId :: pos_integer(),
Options :: [tuple()],
MyKeyVersion :: non_neg_integer(),
Connections :: [],
JoinIds :: [rt_chord:key()],
Candidates :: []},
QueuedMessages :: msg_queue:msg_queue()} |
{join, phase_2_4(), QueuedMessages :: msg_queue:msg_queue()}
phase2() =
{phase2,
JoinUUId :: pos_integer(),
Options :: [tuple()],
MyKeyVersion :: non_neg_integer(),
Connections :: [{null | pos_integer(), comm:mypid()}],
JoinIds :: [rt_chord:key()],
Candidates :: [lb_op:lb_op()]}
phase2b() =
{phase2b,
JoinUUId :: pos_integer(),
Options :: [tuple()],
MyKeyVersion :: non_neg_integer(),
Connections :: [{null | pos_integer(), comm:mypid()}, ...],
JoinIds :: [rt_chord:key()],
Candidates :: [lb_op:lb_op()]}
phase3() =
{phase3,
JoinUUId :: pos_integer(),
Options :: [tuple()],
MyKeyVersion :: non_neg_integer(),
Connections :: [{null | pos_integer(), comm:mypid()}],
JoinIds :: [rt_chord:key()],
Candidates :: [lb_op:lb_op()]}
phase4() =
{phase4,
JoinUUId :: pos_integer(),
Options :: [tuple()],
MyKeyVersion :: non_neg_integer(),
Connections :: [{null | pos_integer(), comm:mypid()}],
JoinIds :: [rt_chord:key()],
Candidates :: [lb_op:lb_op()]}
phase_2_4() = phase2() | phase2b() | phase3() | phase4()
| check_config/0 | Checks whether config parameters of the dht_node process during join exist and are valid. |
| join_as_first/3 | |
| join_as_other/3 | |
| process_join_msg/2 | Process requests from a joining node at a existing node:. |
| process_join_state/2 | Process a DHT node's join messages during the join phase. |
| reject_join_response/4 |
join_as_first(Id :: rt_chord:key(), IdVersion :: non_neg_integer(), Options :: [tuple()]) -> dht_node_state:state()
join_as_other(Id :: rt_chord:key(), IdVersion :: non_neg_integer(), Options :: [tuple()]) -> {'$gen_component', [{on_handler, Handler :: gen_component:handler()}], State :: {join, phase2(), msg_queue:msg_queue()}}
process_join_state(Msg :: dht_node:message(), State :: join_state()) -> join_state() | {'$gen_component', [{on_handler, Handler :: gen_component:handler()}], dht_node_state:state()}
Process a DHT node's join messages during the join phase.
process_join_msg(Msg :: join_message(), State :: dht_node_state:state()) -> dht_node_state:state()
Process requests from a joining node at a existing node:
reject_join_response(Succ :: node:node_type(), Pred :: node:node_type(), MoveFullId :: slide_op:id(), CandId :: lb_op:id()) -> ok
check_config() -> boolean()
Checks whether config parameters of the dht_node process during join exist and are valid.
Generated by EDoc, Apr 22 2017, 16:02:50.