consensus

package
v0.0.0-...-fe73bcc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2018 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package consensus implements consensus abstraction.

Package consensus implements consensus abstraction.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Regular

type Regular interface {
	Propose(v interface{})      // Proposes value v for consensus
	Decide(func(v interface{})) // Outputs a decided value v of consensus
}

Regular defines the interface and properties of (regular) consensus.

Properties:

C1: Termination:
	- Every correct process eventually decides some value.
C2: Validity:
	- If a process decides v, then v was proposed by some process.
C3: Integrity:
	- No process decides twice.
C4: Agreement:
	- No two correct processes decide differently.

type Uniform

type Uniform interface {
	Regular
}

Uniform defines the interface and properties of uniform consensus.

Properties:

UC1-UC3: Same as properties C1-C3 in (regular) consensus.
UC4: Uniform agreement:
	- No two processes decide differently.

Directories

Path Synopsis
Package paxos implements different variants of paxos algorithm.
Package paxos implements different variants of paxos algorithm.
basic
Package basic implements single decree paxos algorithm.
Package basic implements single decree paxos algorithm.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL