lpaxos

package
v0.0.0-...-f965b87 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2014 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const CHAN_BUFFER_SIZE = 2000
View Source
const FALSE = uint8(0)
View Source
const MAX_BATCH = 5000
View Source
const TRUE = uint8(1)

Variables

This section is empty.

Functions

This section is empty.

Types

type Instance

type Instance struct {
	Updates []qleaseproto.LeaseMetadata

	Status InstanceStatus
	// contains filtered or unexported fields
}

type InstanceStatus

type InstanceStatus int
const (
	PREPARING InstanceStatus = iota
	PREPARED
	ACCEPTED
	COMMITTED
)

type LeaderBookkeeping

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

type Replica

type Replica struct {
	*genericsmr.Replica // extends a generic Paxos replica
	ProposeLeaseChan    chan fastrpc.Serializable

	IsLeader      bool        // does this replica think it is the leader
	InstanceSpace []*Instance // the space of all instances (used and not yet used)

	Shutdown bool

	LeaderId        int32
	LatestCommitted int32
	// contains filtered or unexported fields
}

func NewReplica

func NewReplica(id int, peerAddrList []string, thrifty bool, exec bool, dreply bool, durable bool) *Replica

func (*Replica) BeTheLeader

func (r *Replica) BeTheLeader()

func (*Replica) ProposeLeaseChange

func (r *Replica) ProposeLeaseChange(updates []qleaseproto.LeaseMetadata) bool

Jump to

Keyboard shortcuts

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