Module dc_clustering

Re-register with boot nodes.

Copyright © 2007-2015 Zuse Institute Berlin

Version: $Id$

Behaviours: gen_component.

Authors: Thorsten Schuett (schuett@zib.de), Marie Hoffmann (hoffmann@zib.de).

References

Description

Re-register with boot nodes

Data Types

message()

message() = {dc_trigger}
          | {dc_reset_trigger}
          | {start_clustering_shuffle}
          | {reset_clustering}
          | {vivaldi_get_coordinate_response,
             gossip_vivaldi:network_coordinate(),
             gossip_vivaldi:est_error()}
          | {cy_cache, [node:node_type()]}
          | {clustering_shuffle,
             comm:mypid(),
             dc_centroids:centroids(),
             non_neg_integer()}
          | {clustering_shuffle_reply,
             comm:mypid(),
             dc_centroids:centroids(),
             non_neg_integer()}
          | {query_clustering, comm:mypid()}
          | {query_epoch, comm:mypid()}
          | {query_my, atom(), comm:mypid()}

state_active()

state_active() = 
    #state_active{centroids = dc_centroids:centroids(),
                  local_epoch = non_neg_integer(),
                  radius = undefined | float()}

state_inactive()

state_inactive() = 
    #state_inactive{queued_messages = undefined
                                     | msg_queue:msg_queue(),
                    radius = undefined | float()}

-type(state() :: state_active() | state_inactive()).

Function Index

activate/0Sends an initialization message to the node's dc_clustering process.
check_config/0Checks whether config parameters exist and are valid.
deactivate/0Deactivates the clustering process.
init/1Initialises the module with an empty state.
on_active/2Message handler when the module is fully initialized.
on_inactive/2Message handler during start up phase (will change to on_active/2 when a 'activate_clustering' message is received).
start_gen_component/5
start_link/1Starts the dc_clustering process, registers it with the process dictionary and returns its pid for use by a supervisor.

Function Details

start_gen_component/5

start_gen_component(Module :: module(),
                    Handler :: gen_component:handler(),
                    Args :: term(),
                    Options :: [gen_component:option()],
                    Self :: pid()) ->
                       no_return() | ok

activate/0

activate() -> ok | ignore

Sends an initialization message to the node's dc_clustering process.

deactivate/0

deactivate() -> ok | ignore

Deactivates the clustering process.

start_link/1

start_link(DHTNodeGroup :: pid_groups:groupname()) ->
              {ok, pid()} | ignore

Starts the dc_clustering process, registers it with the process dictionary and returns its pid for use by a supervisor.

init/1

init(X1 :: []) -> state_inactive()

Initialises the module with an empty state.

on_inactive/2

on_inactive(Msg :: message(), State_inactive :: state_inactive()) ->
               state_inactive()

Message handler during start up phase (will change to on_active/2 when a 'activate_clustering' message is received).

on_active/2

on_active(Message :: message(), State :: state_active()) ->
             state_active()

Message handler when the module is fully initialized.

check_config/0

check_config() -> boolean()

Checks whether config parameters exist and are valid.


Generated by EDoc, Aug 2 2016, 13:44:16.