# Module proposer

- Description
- Data Types
- Function Index
- Function Details

Description : Part of generic Paxos-Consensus implementation The role of a proposer.

Copyright © 2009-2015 Zuse Institute Berlin

Version: $Id$

Behaviours: `gen_component`.

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

## Description

Description : Part of generic Paxos-Consensus implementation The role of a proposer.

## Data Types

### state()

    state() = atom()

TableName

## Function Index

init/1 |
msg_accept/5 |
on/2 |
start_gen_component/5 |
start_link/2 |
start_paxosid/6 |
start_paxosid/7 |
stop_paxosids/2 |
trigger/2 |

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

### msg_accept/5

    msg_accept(Dest :: comm:mypid(),
               ReplyTo :: comm:mypid(),
               PaxosID :: any(),
               Round :: non_neg_integer(),
               Value :: any()) ->
                  ok

### start_paxosid/6

    start_paxosid(Proposer :: comm:mypid(),
                  PaxosID :: any(),
                  Acceptors :: [comm:mypid()],
                  Proposal :: any(),
                  Majority :: pos_integer(),
                  MaxProposers :: pos_integer()) ->
                     ok

### start_paxosid/7

    start_paxosid(Proposer :: comm:mypid(),
                  PaxosID :: any(),
                  Acceptors :: [comm:mypid()],
                  Proposal :: any(),
                  Majority :: pos_integer(),
                  MaxProposers :: pos_integer(),
                  InitialRound :: non_neg_integer()) ->
                     ok

### stop_paxosids/2

    stop_paxosids(Proposer :: comm:mypid(), PaxosIds :: any()) -> ok

### trigger/2

    trigger(Proposer :: comm:mypid(), PaxosID :: any()) -> ok

### start_link/2

    start_link(DHTNodeGroup :: pid_groups:groupname(),
               PidName :: pid_groups:pidname()) ->
                  {ok, pid()}

### init/1

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

### on/2

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

Generated by EDoc, Apr 22 2017, 15:58:18.