# Module dht_node_lookup

- Description
- Data Types
- Function Index
- Function Details

dht_node lookup algorithm (interacts with the dht_node process).

Copyright © 2007-2016 Zuse Institute Berlin

Version: $Id$

Authors: Thorsten Schuett (`schuett@zib.de`).

## Description

dht_node lookup algorithm (interacts with the dht_node process)

## Data Types

### data()

    data() = non_neg_integer()

### enveloped_message()

    enveloped_message() = {pos_integer(), f, comm:message()}

## Function Index

envelope/2 |
lookup_aux_failed/3 |
lookup_aux_leases/4 | Check the lease and translate to lookup_fin or forward to rt_loop accordingly.
lookup_decision_chord/4 | Decide, whether a lookup_aux message should be translated into a lookup_fin message.
lookup_fin/4 | Find the node responsible for Key and send him the message Msg.
lookup_fin_failed/3 |

## Function Details

### envelope/2

    envelope(Nth :: pos_integer(), Msg :: comm:message()) ->
                enveloped_message()

### lookup_aux_leases/4

    lookup_aux_leases(State :: dht_node_state:state(),
                      Key :: intervals:key(),
                      Hops :: non_neg_integer(),
                      Msg :: comm:message()) ->
                         ok

Check the lease and translate to lookup_fin or forward to rt_loop accordingly.

### lookup_decision_chord/4

    lookup_decision_chord(State :: dht_node_state:state(),
                          Key :: intervals:key(),
                          Hops :: non_neg_integer(),
                          Msg :: comm:message()) ->
                             ok

Decide, whether a lookup_aux message should be translated into a lookup_fin message

### lookup_fin/4

    lookup_fin(State :: dht_node_state:state(),
               Key :: intervals:key(),
               Data :: data(),
               Msg :: comm:message()) ->
                  dht_node_state:state()

Find the node responsible for Key and send him the message Msg.

### lookup_aux_failed/3

    lookup_aux_failed(State :: dht_node_state:state(),
                      Target :: comm:mypid(),
                      Msg ::
                          {1,
                           Key :: rt_chord:key(),
                           Hops :: pos_integer(),
                           Msg :: comm:message()}) ->
                         ok

### lookup_fin_failed/3

    lookup_fin_failed(State :: dht_node_state:state(),
                      Target :: comm:mypid(),
                      Msg ::
                          {2,
                           Key :: rt_chord:key(),
                           Data :: data(),
                           Msg :: comm:message()}) ->
                         ok

Generated by EDoc, Feb 29 2016, 16:12:19.