configuration

package
v0.0.0-...-7ef8827 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2016 License: AGPL-3.0, AGPL-3.0-only Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TopologyVarUUId = common.MakeVarUUId([]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})
	VersionOne      = common.MakeTxnId([]byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1})
)

Functions

func LocalAddresses

func LocalAddresses() ([]net.IP, error)

Types

type Cond

type Cond interface {
	Equal(Cond) bool
	AddToSeg(seg *capn.Segment) msgs.Condition

	SatisfiedBy(topology *Topology, positions *common.Positions) (bool, error)
	// contains filtered or unexported methods
}

type CondSuppliers

type CondSuppliers struct {
	Cond      Cond
	Suppliers common.RMIds
}

func (*CondSuppliers) Equal

func (a *CondSuppliers) Equal(b *CondSuppliers) bool

func (*CondSuppliers) String

func (cs *CondSuppliers) String() string

type Conds

type Conds map[common.RMId]*CondSuppliers

func ConditionsFromCap

func ConditionsFromCap(condsCap *msgs.ConditionPair_List) Conds

func (Conds) AddToSeg

func (c Conds) AddToSeg(seg *capn.Segment) msgs.ConditionPair_List

func (Conds) DisjoinWith

func (cs Conds) DisjoinWith(rmId common.RMId, c Cond)

func (Conds) Equal

func (a Conds) Equal(b Conds) bool

func (Conds) String

func (c Conds) String() string

func (Conds) SuppliedBy

func (cs Conds) SuppliedBy(requester, supplier common.RMId, maxSuppliers int) bool

type Configuration

type Configuration struct {
	ClusterId                     string
	Version                       uint32
	Hosts                         []string
	F                             uint8
	MaxRMCount                    uint16
	NoSync                        bool
	ClientCertificateFingerprints map[string]map[string]*RootCapability
	// contains filtered or unexported fields
}

func ConfigurationFromCap

func ConfigurationFromCap(config *msgs.Configuration) *Configuration

func LoadConfigurationFromPath

func LoadConfigurationFromPath(path string) (*Configuration, error)

func (*Configuration) AddToSegAutoRoot

func (config *Configuration) AddToSegAutoRoot(seg *capn.Segment) msgs.Configuration

func (*Configuration) Clone

func (config *Configuration) Clone() *Configuration

func (*Configuration) ClusterUUId

func (config *Configuration) ClusterUUId() uint64

func (*Configuration) Equal

func (a *Configuration) Equal(b *Configuration) bool

func (*Configuration) Fingerprints

func (config *Configuration) Fingerprints() map[[sha256.Size]byte]map[string]*common.Capability

func (*Configuration) LocalRemoteHosts

func (config *Configuration) LocalRemoteHosts(listenPort uint16) (string, []string, error)

Also checks we are in there somewhere

func (*Configuration) Next

func (config *Configuration) Next() *NextConfiguration

func (*Configuration) NextBarrierReached1

func (config *Configuration) NextBarrierReached1(rmId common.RMId) bool

func (*Configuration) NextBarrierReached2

func (config *Configuration) NextBarrierReached2(rmId common.RMId) bool

func (*Configuration) RMs

func (config *Configuration) RMs() common.RMIds

func (*Configuration) RMsRemoved

func (config *Configuration) RMsRemoved() map[common.RMId]server.EmptyStruct

func (*Configuration) RootNames

func (config *Configuration) RootNames() []string

func (*Configuration) Serialize

func (config *Configuration) Serialize() []byte

func (*Configuration) SetClusterUUId

func (config *Configuration) SetClusterUUId(uuid uint64)

func (*Configuration) SetNext

func (config *Configuration) SetNext(next *NextConfiguration)

func (*Configuration) SetRMs

func (config *Configuration) SetRMs(rms common.RMIds)

func (*Configuration) SetRMsRemoved

func (config *Configuration) SetRMsRemoved(removed map[common.RMId]server.EmptyStruct)

func (*Configuration) String

func (config *Configuration) String() string

type Conjunction

type Conjunction struct {
	Left  Cond
	Right Cond
}

func (*Conjunction) AddToSeg

func (c *Conjunction) AddToSeg(seg *capn.Segment) msgs.Condition

func (*Conjunction) Equal

func (a *Conjunction) Equal(b Cond) bool

func (*Conjunction) SatisfiedBy

func (c *Conjunction) SatisfiedBy(topology *Topology, positions *common.Positions) (bool, error)

func (*Conjunction) String

func (c *Conjunction) String() string

type Disjunction

type Disjunction struct {
	Left  Cond
	Right Cond
}

func (*Disjunction) AddToSeg

func (d *Disjunction) AddToSeg(seg *capn.Segment) msgs.Condition

func (*Disjunction) Equal

func (a *Disjunction) Equal(b Cond) bool

func (*Disjunction) SatisfiedBy

func (d *Disjunction) SatisfiedBy(topology *Topology, positions *common.Positions) (bool, error)

func (*Disjunction) String

func (d *Disjunction) String() string

type Generator

type Generator struct {
	RMId     common.RMId
	UseNext  bool
	Includes bool
}

func (*Generator) AddToSeg

func (g *Generator) AddToSeg(seg *capn.Segment) msgs.Condition

func (*Generator) Equal

func (a *Generator) Equal(b Cond) bool

func (*Generator) SatisfiedBy

func (g *Generator) SatisfiedBy(topology *Topology, positions *common.Positions) (bool, error)

func (*Generator) String

func (g *Generator) String() string

type NextConfiguration

type NextConfiguration struct {
	*Configuration
	AllHosts        []string
	NewRMIds        common.RMIds
	SurvivingRMIds  common.RMIds
	LostRMIds       common.RMIds
	RootIndices     []uint32
	InstalledOnNew  bool
	BarrierReached1 common.RMIds
	BarrierReached2 common.RMIds
	Pending         Conds
}

func (*NextConfiguration) Clone

func (next *NextConfiguration) Clone() *NextConfiguration

func (*NextConfiguration) Equal

func (*NextConfiguration) String

func (next *NextConfiguration) String() string

type Root

type Root struct {
	VarUUId   *common.VarUUId
	Positions *common.Positions
}

type RootCapability

type RootCapability struct {
	Read  bool
	Write bool
}

type Roots

type Roots []Root

func (Roots) String

func (r Roots) String() string

type Topology

type Topology struct {
	*Configuration
	FInc      uint8
	TwoFInc   uint16
	DBVersion *common.TxnId
	Roots     Roots
}

func BlankTopology

func BlankTopology() *Topology

func NewTopology

func NewTopology(txnId *common.TxnId, rootsCap *msgs.VarIdPos_List, config *Configuration) *Topology

func TopologyFromCap

func TopologyFromCap(txnId *common.TxnId, roots *msgs.VarIdPos_List, data []byte) (*Topology, error)

func (*Topology) Clone

func (t *Topology) Clone() *Topology

func (*Topology) IsBlank

func (t *Topology) IsBlank() bool

func (*Topology) SetConfiguration

func (t *Topology) SetConfiguration(config *Configuration)

func (*Topology) String

func (t *Topology) String() string

Jump to

Keyboard shortcuts

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