replicaset

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2021 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// MemberHealthDown ...
	MemberHealthDown MemberHealth = iota
	// MemberHealthUp ...
	MemberHealthUp
	// MemberStateStartup ...
	MemberStateStartup MemberState = 0
	// MemberStatePrimary ...
	MemberStatePrimary MemberState = 1
	// MemberStateSecondary ...
	MemberStateSecondary MemberState = 2
	// MemberStateRecovering ...
	MemberStateRecovering MemberState = 3
	// MemberStateStartup2 ...
	MemberStateStartup2 MemberState = 5
	// MemberStateUnknown ...
	MemberStateUnknown MemberState = 6
	// MemberStateArbiter ...
	MemberStateArbiter MemberState = 7
	// MemberStateDown ...
	MemberStateDown MemberState = 8
	// MemberStateRollback ...
	MemberStateRollback MemberState = 9
	// MemberStateRemoved ...
	MemberStateRemoved MemberState = 10
)
View Source
const (
	// StatusCommand ...
	StatusCommand = "replSetGetStatus"
)

Variables

View Source
var MemberStateStrings = map[MemberState]string{
	MemberStateStartup:    "STARTUP",
	MemberStatePrimary:    "PRIMARY",
	MemberStateSecondary:  "SECONDARY",
	MemberStateRecovering: "RECOVERING",
	MemberStateStartup2:   "STARTUP2",
	MemberStateUnknown:    "UNKNOWN",
	MemberStateArbiter:    "ARBITER",
	MemberStateDown:       "DOWN",
	MemberStateRollback:   "ROLLBACK",
	MemberStateRemoved:    "REMOVED",
}

MemberStateStrings ...

Functions

This section is empty.

Types

type Manager

type Manager interface {
	GetMember(name string) *Member
	GetMemberId(id int) *Member
	GetMembersByState(state MemberState, limit int) []*Member
	GetSelf() *Member
	HasMember(name string) bool
	Primary() *Member
	Secondaries() []*Member
	String() string
	ToJSON() ([]byte, error)
}

Manager is an interface describing a Status manager

type Member

type Member struct {
	ID                int                 `bson:"_id" json:"_id"`
	Name              string              `bson:"name" json:"name"`
	Health            MemberHealth        `bson:"health" json:"health"`
	State             MemberState         `bson:"state" json:"state"`
	StateStr          string              `bson:"stateStr" json:"stateStr"`
	Uptime            int64               `bson:"uptime" json:"uptime"`
	Optime            *Optime             `bson:"optime" json:"optime"`
	OptimeDate        time.Time           `bson:"optimeDate" json:"optimeDate"`
	ConfigVersion     int                 `bson:"configVersion" json:"configVersion"`
	ElectionTime      primitive.Timestamp `bson:"electionTime,omitempty" json:"electionTime,omitempty"`
	ElectionDate      time.Time           `bson:"electionDate,omitempty" json:"electionDate,omitempty"`
	InfoMessage       string              `bson:"infoMessage,omitempty" json:"infoMessage,omitempty"`
	OptimeDurable     *Optime             `bson:"optimeDurable,omitempty" json:"optimeDurable,omitempty"`
	OptimeDurableDate time.Time           `bson:"optimeDurableDate,omitempty" json:"optimeDurableDate,omitempty"`
	LastHeartbeat     time.Time           `bson:"lastHeartbeat,omitempty" json:"lastHeartbeat,omitempty"`
	LastHeartbeatRecv time.Time           `bson:"lastHeartbeatRecv,omitempty" json:"lastHeartbeatRecv,omitempty"`
	PingMs            int64               `bson:"pingMs,omitempty" json:"pingMs,omitempty"`
	Self              bool                `bson:"self,omitempty" json:"self,omitempty"`
	SyncingTo         string              `bson:"syncingTo,omitempty" json:"syncingTo,omitempty"`
}

Member ...

type MemberHealth

type MemberHealth int

MemberHealth ...

type MemberState

type MemberState int

MemberState ...

func (MemberState) String

func (ms MemberState) String() string

String ...

type OkResponse

type OkResponse struct {
	Ok int `bson:"ok" json:"ok" json:"ok"`
}

OkResponse ...

type Optime

type Optime struct {
	Timestamp primitive.Timestamp `bson:"ts" json:"ts"`
	Term      int64               `bson:"t" json:"t"`
}

Optime ...

type Status

type Status struct {
	Set                     string         `bson:"set" json:"set"`
	Date                    time.Time      `bson:"date" json:"date"`
	MyState                 MemberState    `bson:"myState" json:"myState"`
	Members                 []*Member      `bson:"members" json:"members"`
	Term                    int64          `bson:"term,omitempty" json:"term,omitempty"`
	HeartbeatIntervalMillis int64          `bson:"heartbeatIntervalMillis,omitempty" json:"heartbeatIntervalMillis,omitempty"`
	Optimes                 *StatusOptimes `bson:"optimes,omitempty" json:"optimes,omitempty"`
	Errmsg                  string         `bson:"errmsg,omitempty" json:"errmsg,omitempty"`
	Ok                      int            `bson:"ok" json:"ok"`
}

Status ...

func (*Status) GetMember

func (s *Status) GetMember(name string) *Member

GetMember ...

func (*Status) GetMemberID

func (s *Status) GetMemberID(id int) *Member

GetMemberID ...

func (*Status) GetMembersByState

func (s *Status) GetMembersByState(state MemberState, limit int) []*Member

GetMembersByState ...

func (*Status) GetSelf

func (s *Status) GetSelf() *Member

GetSelf ...

func (*Status) HasMember

func (s *Status) HasMember(name string) bool

HasMember ...

func (*Status) Primary

func (s *Status) Primary() *Member

Primary ...

func (*Status) Secondaries

func (s *Status) Secondaries() []*Member

Secondaries ...

func (*Status) String

func (s *Status) String() string

String ...

func (*Status) ToJSON

func (s *Status) ToJSON() ([]byte, error)

ToJSON ...

type StatusOptimes

type StatusOptimes struct {
	LastCommittedOpTime *Optime `bson:"lastCommittedOpTime" json:"lastCommittedOpTime"`
	AppliedOpTime       *Optime `bson:"appliedOpTime" json:"appliedOpTime"`
	DurableOptime       *Optime `bson:"durableOpTime" json:"durableOpTime"`
}

StatusOptimes ...

Jump to

Keyboard shortcuts

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