Copyright © 2010-2011 Zuse Institute Berlin
Version: $Id$
Behaviours: lb_psv_beh.
Authors: Nico Kruber (kruber@zib.de).
custom_message() = {get_split_key_response, SplitKey :: {rt_chord:key(), TakenLoad :: non_neg_integer()}}
check_config/0 | Checks whether config parameters of the passive load balancing algorithm exist and are valid. |
create_join/4 | Creates a join operation if a node would join at my node with the given key. |
get_number_of_samples/1 | Gets the number of IDs to sample during join. |
get_number_of_samples_remote/2 | Sends the number of IDs to sample during join to the joining node. |
my_sort_fun/2 | Sort function for two operations and their Sum2Change. |
process_join_msg/3 | |
sort_candidates/1 | Sorts all provided operations so that the one with the biggest change of the standard deviation is at the front. |
get_number_of_samples(Conn :: dht_node_join:connection()) -> ok
Gets the number of IDs to sample during join. Note: this is executed at the joining node.
get_number_of_samples_remote(SourcePid :: comm:mypid(), Conn :: dht_node_join:connection()) -> ok
Sends the number of IDs to sample during join to the joining node. Note: this is executed at the existing node.
create_join(DhtNodeState :: dht_node_state:state(), SelectedKey :: rt_chord:key(), SourcePid :: comm:mypid(), Conn :: dht_node_join:connection()) -> dht_node_state:state()
Creates a join operation if a node would join at my node with the given key. This will simulate the join operation and return a lb_op() with all the data needed in sort_candidates/1. Note: this is executed at an existing node.
my_sort_fun(Op1 :: {lb_op:lb_op(), integer()}, Op2 :: {lb_op:lb_op(), integer()}) -> boolean()
Sort function for two operations and their Sum2Change. Op1 will be preferred over Op2, i.e. Op1 is smaller than Op2, if its Sum2Change is smaller or if it is equal and its new node's address space is larger.
sort_candidates(Ops :: [lb_op:lb_op()]) -> [lb_op:lb_op()]
Sorts all provided operations so that the one with the biggest change of the standard deviation is at the front. In case of no load changes, the operation with the largest address range at the joining node will be at the front. Note: this is executed at the joining node.
process_join_msg(Msg :: comm:message(), State :: any(), DhtNodeState :: dht_node_state:state()) -> unknown_event
check_config() -> boolean()
Checks whether config parameters of the passive load balancing algorithm exist and are valid.
Generated by EDoc, Aug 2 2016, 13:43:00.