Module rbrcseq

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()}

period this process is in

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/3spawns 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, Sep 11 2020, 15:24:58.