# Module rbrcseq

- Description
- Data Types
- Function Index
- Function Details

Allow a sequence of consensus using a prbr.

Copyright © 2012-2016 Zuse Institute Berlin,

Version: $Id$

Behaviours: `gen_component`.

Authors: Florian Schintke (`schintke@zib.de`).

## Description

Allow a sequence of consensus using a prbr.

## Data Types

### check_next_step()

    check_next_step() = fun((term(), term()) -> term())

### client_value()

    client_value() = any()

### state()

    state() =
        {pdb:tableid(),
         dht_node_state:db_selector(),
         non_neg_integer()}

## Function Index

get_db_for_id/2 |
init/1 |
on/2 |
qread/4 |
qread/5 |
qwrite/6 |
qwrite/8 |
qwrite_fast/10 |
qwrite_fast/8 |
start_gen_component/5 |
start_link/3 | spawns a rbrcseq, called by the scalaris supervisor process.

## 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

### qread/4

    qread(CSeqPidName :: pid_groups:pidname(),
          Client :: comm:erl_local_pid(),
          Key :: rt_chord:key(),
          DataType :: module()) ->
             ok

### qread/5

    qread(CSeqPidName :: pid_groups:pidname(),
          Client :: comm:erl_local_pid(),
          Key :: any(),
          DataType :: module(),
          ReadFilter :: prbr:read_filter()) ->
             ok

### qwrite/6

    qwrite(CSeqPidName :: pid_groups:pidname(),
           Client :: comm:erl_local_pid(),
           Key :: rt_chord:key(),
           DataType :: module(),
           CC :: fun((any(), any(), any()) -> {boolean(), any()}),
           Value :: client_value()) ->
              ok

### qwrite_fast/8

    qwrite_fast(CSeqPidName :: pid_groups:pidname(),
                Client :: comm:erl_local_pid(),
                Key :: rt_chord:key(),
                DataType :: module(),
                CC :: fun((any(), any(), any()) -> {boolean(), any()}),
                Value :: client_value(),
                Round :: pr:pr(),
                OldVal :: client_value() | prbr_bottom) ->
                   ok

### qwrite/8

    qwrite(CSeqPidName :: pid_groups:pidname(),
           Client :: comm:erl_local_pid(),
           Key :: rt_chord:key(),
           DataType :: module(),
           ReadFilter :: fun((any()) -> any()),
           ContentCheck ::
               fun((any(), any(), any()) -> {boolean(), any()}),
           WriteFilter :: fun((any(), any(), any()) -> {any(), any()}),
           Value :: client_value()) ->
              ok

### qwrite_fast/10

    qwrite_fast(CSeqPidName :: pid_groups:pidname(),
                Client :: comm:erl_local_pid(),
                Key :: rt_chord:key(),
                DataType :: module(),
                ReadFilter :: fun((any()) -> any()),
                ContentCheck ::
                    fun((any(), any(), any()) -> {boolean(), any()}),
                WriteFilter :: fun((any(), any(), any()) -> any()),
                Value :: client_value(),
                Round :: pr:pr(),
                OldValue :: client_value() | prbr_bottom) ->
                   ok

### start_link/3

    start_link(DHTNodeGroup :: pid_groups:groupname(),
               Name :: pid_groups:pidname(),
               DBSelector :: dht_node_state:db_selector()) ->
                  {ok, pid()}

spawns a rbrcseq, called by the scalaris supervisor process

### init/1

    init(DBSelector :: dht_node_state:db_selector()) -> state()

### on/2

    on(X1 :: comm:message(), State :: state()) -> state()

### get_db_for_id/2

    get_db_for_id(DBName :: atom(), Key :: rt_chord:key()) ->
                     {atom(), pos_integer()}

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