graft

package module
v0.0.0-...-20cac04 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2017 License: MIT Imports: 10 Imported by: 2

README

graft

A RAFT election implementation in Go and grpc.

Documentation

Index

Constants

View Source
const (
	// LEADER raft
	LEADER = iota
	// CANDIDATE raft
	CANDIDATE
	// FLLOWER raft
	FLLOWER
	//CLOSED  closed
	CLOSED
	//HBINTERVAL 50 ms
	HBINTERVAL = 50 * time.Millisecond
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

type Logger struct {
}

Logger mock grpc logger

func (*Logger) Fatal

func (*Logger) Fatal(args ...interface{})

Fatal mock grpc

func (*Logger) Fatalf

func (*Logger) Fatalf(format string, args ...interface{})

Fatalf mock grpc

func (*Logger) Fatalln

func (*Logger) Fatalln(args ...interface{})

Fatalln mock grpc

func (*Logger) Print

func (*Logger) Print(args ...interface{})

Print mock grpc

func (*Logger) Printf

func (*Logger) Printf(format string, args ...interface{})

Printf mock grpc

func (*Logger) Println

func (*Logger) Println(args ...interface{})

Println mock grpc

type Raft

type Raft struct {
	// contains filtered or unexported fields
}

Raft raft peer

func New

func New(peers []string, me string, port int, chanState chan bool) (*Raft, error)

New return *Raft

func (*Raft) GetState

func (rf *Raft) GetState() (uint64, bool, int)

GetState return currentTerm and whether this peer is leader

func (*Raft) IsLeader

func (rf *Raft) IsLeader() bool

IsLeader is leader

func (*Raft) SendHeartbeat

func (rf *Raft) SendHeartbeat(context context.Context, hreqt *protocol.HeartbeatRequest) (repe *protocol.Response, err error)

SendHeartbeat rpc handler

func (*Raft) SendVoteRequest

func (rf *Raft) SendVoteRequest(context context.Context, vreqt *protocol.VoteRequest) (vrepe *protocol.VoteResponse, err error)

SendVoteRequest rpc handler

func (*Raft) Stop

func (rf *Raft) Stop()

Stop ...

Directories

Path Synopsis
Package protocol is a generated protocol buffer package.
Package protocol is a generated protocol buffer package.

Jump to

Keyboard shortcuts

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