# Module art

- Description
- Data Types
- Function Index
- Function Details

Approximate Reconciliation Tree (ART) implementation Represents a packed merkle tree.

Copyright © 2011,2012 Zuse Institute Berlin Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Version: $Id$

Authors: Maik Lange (`malange@informatik.hu-berlin.de`).

References

- 2002 - J.Byers, J.Considine, M.Mitzenmachen Fast Approximate Reconcilication of Set Differences - BU Computer Science TR

## Description

Approximate Reconciliation Tree (ART) implementation Represents a packed merkle tree.

## Data Types

### art()

    art() =
        {art,
         CorrectionFactor :: non_neg_integer(),
         InnerBfFpr :: float(),
         LeafBfFpr :: float(),
         Interval :: intervals:interval(),
         InnerNodes :: bloom:bloom_filter(),
         Leafs :: bloom:bloom_filter()}

### config()

    config() = [config_param()]

### config_param()

    config_param() =
        {correction_factor, non_neg_integer()} |
        {inner_bf_fpr, float()} |
        {leaf_bf_fpr, float()}

## Function Index

default_config/0 | Returns default art configuration.
get_config/1 |
get_correction_factor/1 |
get_interval/1 | returns interval of the packed merkle tree (art-structure).
lookup/2 |
merkle_leaf_hf/2 | Leaf hash fun to use for the embedded merkle tree.
new/1 |
new/2 |

## Function Details

### default_config/0

    default_config() -> config()

Returns default art configuration.

### new/1

    new(Tree :: merkle_tree:merkle_tree()) -> art()

### new/2

    new(Tree :: merkle_tree:merkle_tree(), Config0 :: config()) ->
           art()

### get_interval/1

    get_interval(X1 :: art()) -> intervals:interval()

returns interval of the packed merkle tree (art-structure)

### get_correction_factor/1

    get_correction_factor(X1 :: art()) -> non_neg_integer()

### get_config/1

    get_config(X1 :: art()) -> config()

### lookup/2

    lookup(Node :: merkle_tree:mt_node(), X2 :: art()) -> boolean()

### merkle_leaf_hf/2

    merkle_leaf_hf(Bucket :: merkle_tree:mt_bucket(),
                   I :: intervals:interval()) ->
                      binary()

Leaf hash fun to use for the embedded merkle tree.

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