Documentation ¶
Index ¶
- Variables
- func LocalAddresses() ([]net.IP, error)
- type CapabilityJSON
- type Cond
- type CondSuppliers
- type Conds
- type Configuration
- func (config *Configuration) AddToSegAutoRoot(seg *capn.Segment) msgs.Configuration
- func (config *Configuration) Clone() *Configuration
- func (config *Configuration) EnsureClusterUUId(uuid uint64) uint64
- func (a *Configuration) Equal(b *Configuration) bool
- func (a *Configuration) EqualExternally(b *Configuration) bool
- func (config *Configuration) LocalRemoteHosts(listenPort uint16) (string, []string, error)
- func (config *Configuration) Serialize() []byte
- func (config *Configuration) String() string
- func (config *Configuration) ToConfigurationJSON() *ConfigurationJSON
- func (config *Configuration) ToJSONString() ([]byte, error)
- func (config *Configuration) VerifyPeerCerts(peerCerts []*x509.Certificate) (authenticated bool, hashsum [sha256.Size]byte, ...)
- type ConfigurationJSON
- type Conjunction
- type Disjunction
- type Fingerprint
- type Generator
- type NextConfiguration
- type Root
- type Roots
- type Topology
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}) // RMId 0 cannot exist so everything else is safe VersionOne = common.MakeTxnId([]byte{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) VersionTwo = common.MakeTxnId([]byte{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}) )
Functions ¶
Types ¶
type CapabilityJSON ¶
func (*CapabilityJSON) Equal ¶
func (a *CapabilityJSON) Equal(b *CapabilityJSON) bool
type Cond ¶
type CondSuppliers ¶
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
type Configuration ¶
type Configuration struct { ClusterId string ClusterUUId uint64 Version uint32 Hosts []string F uint8 MaxRMCount uint16 NoSync bool RMs common.RMIds RMsRemoved map[common.RMId]types.EmptyStruct Fingerprints map[Fingerprint]map[string]common.Capability Roots []string NextConfiguration *NextConfiguration }
func BlankConfiguration ¶
func BlankConfiguration() *Configuration
func ConfigurationFromCap ¶
func ConfigurationFromCap(config msgs.Configuration) *Configuration
func (*Configuration) AddToSegAutoRoot ¶
func (config *Configuration) AddToSegAutoRoot(seg *capn.Segment) msgs.Configuration
func (*Configuration) Clone ¶
func (config *Configuration) Clone() *Configuration
func (*Configuration) EnsureClusterUUId ¶
func (config *Configuration) EnsureClusterUUId(uuid uint64) uint64
func (*Configuration) Equal ¶
func (a *Configuration) Equal(b *Configuration) bool
func (*Configuration) EqualExternally ¶
func (a *Configuration) EqualExternally(b *Configuration) bool
func (*Configuration) LocalRemoteHosts ¶
func (config *Configuration) LocalRemoteHosts(listenPort uint16) (string, []string, error)
Also checks we are in there somewhere
func (*Configuration) Serialize ¶
func (config *Configuration) Serialize() []byte
func (*Configuration) String ¶
func (config *Configuration) String() string
func (*Configuration) ToConfigurationJSON ¶
func (config *Configuration) ToConfigurationJSON() *ConfigurationJSON
func (*Configuration) ToJSONString ¶
func (config *Configuration) ToJSONString() ([]byte, error)
func (*Configuration) VerifyPeerCerts ¶
func (config *Configuration) VerifyPeerCerts(peerCerts []*x509.Certificate) (authenticated bool, hashsum [sha256.Size]byte, roots map[string]common.Capability)
type ConfigurationJSON ¶
type ConfigurationJSON struct { ClusterId string Version uint32 Hosts []string F uint8 MaxRMCount uint16 NoSync bool ClientCertificateFingerprints map[string]map[string]*CapabilityJSON }
func LoadJSONFromPath ¶
func LoadJSONFromPath(path string) (*ConfigurationJSON, error)
func (*ConfigurationJSON) Clone ¶
func (config *ConfigurationJSON) Clone() *ConfigurationJSON
func (*ConfigurationJSON) Equal ¶
func (a *ConfigurationJSON) Equal(b *ConfigurationJSON) bool
func (*ConfigurationJSON) ToConfiguration ¶
func (config *ConfigurationJSON) ToConfiguration() *Configuration
func (*ConfigurationJSON) Validate ¶
func (config *ConfigurationJSON) Validate() error
type Conjunction ¶
func (*Conjunction) Equal ¶
func (a *Conjunction) Equal(b Cond) bool
func (*Conjunction) SatisfiedBy ¶
func (c *Conjunction) SatisfiedBy(config *Configuration, positions *common.Positions, logger log.Logger) (bool, error)
func (*Conjunction) String ¶
func (c *Conjunction) String() string
type Disjunction ¶
func (*Disjunction) Equal ¶
func (a *Disjunction) Equal(b Cond) bool
func (*Disjunction) SatisfiedBy ¶
func (d *Disjunction) SatisfiedBy(config *Configuration, positions *common.Positions, logger log.Logger) (bool, error)
func (*Disjunction) String ¶
func (d *Disjunction) String() string
type NextConfiguration ¶
type NextConfiguration struct { *Configuration AllHosts []string NewRMIds common.RMIds SurvivingRMIds common.RMIds LostRMIds common.RMIds RootIndices []uint32 InstalledOnNew bool QuietRMIds map[common.RMId]bool Pending Conds }
func (*NextConfiguration) Clone ¶
func (next *NextConfiguration) Clone() *NextConfiguration
func (*NextConfiguration) Equal ¶
func (a *NextConfiguration) Equal(b *NextConfiguration) bool
func (*NextConfiguration) String ¶
func (next *NextConfiguration) String() string
type Topology ¶
type Topology struct { *Configuration FInc uint8 TwoFInc uint16 VerClock types.VerClock RootVarUUIds Roots }
func NewTopology ¶
func NewTopology(vc types.VerClock, rootsCap *msgs.VarIdPos_List, config *Configuration) *Topology
func TopologyFromCap ¶
func (*Topology) SetConfiguration ¶
func (t *Topology) SetConfiguration(config *Configuration)
Click to show internal directories.
Click to hide internal directories.