Documentation ¶
Index ¶
- Variables
- type ConfChange
- func (*ConfChange) Descriptor() ([]byte, []int)
- func (m *ConfChange) GetChangeType() ConfChangeType
- func (m *ConfChange) GetContext() []byte
- func (m *ConfChange) GetNodeId() uint64
- func (m *ConfChange) Marshal() (dAtA []byte, err error)
- func (m *ConfChange) MarshalTo(dAtA []byte) (int, error)
- func (*ConfChange) ProtoMessage()
- func (m *ConfChange) Reset()
- func (m *ConfChange) Size() (n int)
- func (m *ConfChange) String() string
- func (m *ConfChange) Unmarshal(dAtA []byte) error
- func (m *ConfChange) XXX_DiscardUnknown()
- func (m *ConfChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ConfChange) XXX_Merge(src proto.Message)
- func (m *ConfChange) XXX_Size() int
- func (m *ConfChange) XXX_Unmarshal(b []byte) error
- type ConfChangeType
- type ConfState
- func (*ConfState) Descriptor() ([]byte, []int)
- func (m *ConfState) GetNodes() []uint64
- func (m *ConfState) Marshal() (dAtA []byte, err error)
- func (m *ConfState) MarshalTo(dAtA []byte) (int, error)
- func (*ConfState) ProtoMessage()
- func (m *ConfState) Reset()
- func (m *ConfState) Size() (n int)
- func (m *ConfState) String() string
- func (m *ConfState) Unmarshal(dAtA []byte) error
- func (m *ConfState) XXX_DiscardUnknown()
- func (m *ConfState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *ConfState) XXX_Merge(src proto.Message)
- func (m *ConfState) XXX_Size() int
- func (m *ConfState) XXX_Unmarshal(b []byte) error
- type Entry
- func (*Entry) Descriptor() ([]byte, []int)
- func (m *Entry) GetData() []byte
- func (m *Entry) GetEntryType() EntryType
- func (m *Entry) GetIndex() uint64
- func (m *Entry) GetTerm() uint64
- func (m *Entry) Marshal() (dAtA []byte, err error)
- func (m *Entry) MarshalTo(dAtA []byte) (int, error)
- func (*Entry) ProtoMessage()
- func (m *Entry) Reset()
- func (m *Entry) Size() (n int)
- func (m *Entry) String() string
- func (m *Entry) Unmarshal(dAtA []byte) error
- func (m *Entry) XXX_DiscardUnknown()
- func (m *Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Entry) XXX_Merge(src proto.Message)
- func (m *Entry) XXX_Size() int
- func (m *Entry) XXX_Unmarshal(b []byte) error
- type EntryType
- type HardState
- func (*HardState) Descriptor() ([]byte, []int)
- func (m *HardState) GetCommit() uint64
- func (m *HardState) GetTerm() uint64
- func (m *HardState) GetVote() uint64
- func (m *HardState) Marshal() (dAtA []byte, err error)
- func (m *HardState) MarshalTo(dAtA []byte) (int, error)
- func (*HardState) ProtoMessage()
- func (m *HardState) Reset()
- func (m *HardState) Size() (n int)
- func (m *HardState) String() string
- func (m *HardState) Unmarshal(dAtA []byte) error
- func (m *HardState) XXX_DiscardUnknown()
- func (m *HardState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *HardState) XXX_Merge(src proto.Message)
- func (m *HardState) XXX_Size() int
- func (m *HardState) XXX_Unmarshal(b []byte) error
- type Message
- func (*Message) Descriptor() ([]byte, []int)
- func (m *Message) GetCommit() uint64
- func (m *Message) GetEntries() []*Entry
- func (m *Message) GetFrom() uint64
- func (m *Message) GetIndex() uint64
- func (m *Message) GetLogTerm() uint64
- func (m *Message) GetMsgType() MessageType
- func (m *Message) GetReject() bool
- func (m *Message) GetSnapshot() *Snapshot
- func (m *Message) GetTerm() uint64
- func (m *Message) GetTo() uint64
- func (m *Message) Marshal() (dAtA []byte, err error)
- func (m *Message) MarshalTo(dAtA []byte) (int, error)
- func (*Message) ProtoMessage()
- func (m *Message) Reset()
- func (m *Message) Size() (n int)
- func (m *Message) String() string
- func (m *Message) Unmarshal(dAtA []byte) error
- func (m *Message) XXX_DiscardUnknown()
- func (m *Message) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Message) XXX_Merge(src proto.Message)
- func (m *Message) XXX_Size() int
- func (m *Message) XXX_Unmarshal(b []byte) error
- type MessageType
- type Snapshot
- func (*Snapshot) Descriptor() ([]byte, []int)
- func (m *Snapshot) GetData() []byte
- func (m *Snapshot) GetMetadata() *SnapshotMetadata
- func (m *Snapshot) Marshal() (dAtA []byte, err error)
- func (m *Snapshot) MarshalTo(dAtA []byte) (int, error)
- func (*Snapshot) ProtoMessage()
- func (m *Snapshot) Reset()
- func (m *Snapshot) Size() (n int)
- func (m *Snapshot) String() string
- func (m *Snapshot) Unmarshal(dAtA []byte) error
- func (m *Snapshot) XXX_DiscardUnknown()
- func (m *Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *Snapshot) XXX_Merge(src proto.Message)
- func (m *Snapshot) XXX_Size() int
- func (m *Snapshot) XXX_Unmarshal(b []byte) error
- type SnapshotMetadata
- func (*SnapshotMetadata) Descriptor() ([]byte, []int)
- func (m *SnapshotMetadata) GetConfState() *ConfState
- func (m *SnapshotMetadata) GetIndex() uint64
- func (m *SnapshotMetadata) GetTerm() uint64
- func (m *SnapshotMetadata) Marshal() (dAtA []byte, err error)
- func (m *SnapshotMetadata) MarshalTo(dAtA []byte) (int, error)
- func (*SnapshotMetadata) ProtoMessage()
- func (m *SnapshotMetadata) Reset()
- func (m *SnapshotMetadata) Size() (n int)
- func (m *SnapshotMetadata) String() string
- func (m *SnapshotMetadata) Unmarshal(dAtA []byte) error
- func (m *SnapshotMetadata) XXX_DiscardUnknown()
- func (m *SnapshotMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *SnapshotMetadata) XXX_Merge(src proto.Message)
- func (m *SnapshotMetadata) XXX_Size() int
- func (m *SnapshotMetadata) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthEraftpb = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowEraftpb = fmt.Errorf("proto: integer overflow") )
var ConfChangeType_name = map[int32]string{
0: "AddNode",
1: "RemoveNode",
}
var ConfChangeType_value = map[string]int32{
"AddNode": 0,
"RemoveNode": 1,
}
var EntryType_name = map[int32]string{
0: "EntryNormal",
1: "EntryConfChange",
}
var EntryType_value = map[string]int32{
"EntryNormal": 0,
"EntryConfChange": 1,
}
var MessageType_name = map[int32]string{
0: "MsgHup",
1: "MsgBeat",
2: "MsgPropose",
3: "MsgAppend",
4: "MsgAppendResponse",
5: "MsgRequestVote",
6: "MsgRequestVoteResponse",
7: "MsgSnapshot",
8: "MsgHeartbeat",
9: "MsgHeartbeatResponse",
11: "MsgTransferLeader",
12: "MsgTimeoutNow",
}
var MessageType_value = map[string]int32{
"MsgHup": 0,
"MsgBeat": 1,
"MsgPropose": 2,
"MsgAppend": 3,
"MsgAppendResponse": 4,
"MsgRequestVote": 5,
"MsgRequestVoteResponse": 6,
"MsgSnapshot": 7,
"MsgHeartbeat": 8,
"MsgHeartbeatResponse": 9,
"MsgTransferLeader": 11,
"MsgTimeoutNow": 12,
}
Functions ¶
This section is empty.
Types ¶
type ConfChange ¶
type ConfChange struct { ChangeType ConfChangeType `protobuf:"varint,1,opt,name=change_type,json=changeType,proto3,enum=eraftpb.ConfChangeType" json:"change_type,omitempty"` // node will be add/remove NodeId uint64 `protobuf:"varint,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` Context []byte `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
ConfChange is the data that attach on entry with EntryConfChange type
func (*ConfChange) Descriptor ¶
func (*ConfChange) Descriptor() ([]byte, []int)
func (*ConfChange) GetChangeType ¶
func (m *ConfChange) GetChangeType() ConfChangeType
func (*ConfChange) GetContext ¶
func (m *ConfChange) GetContext() []byte
func (*ConfChange) GetNodeId ¶
func (m *ConfChange) GetNodeId() uint64
func (*ConfChange) Marshal ¶
func (m *ConfChange) Marshal() (dAtA []byte, err error)
func (*ConfChange) ProtoMessage ¶
func (*ConfChange) ProtoMessage()
func (*ConfChange) Reset ¶
func (m *ConfChange) Reset()
func (*ConfChange) Size ¶
func (m *ConfChange) Size() (n int)
func (*ConfChange) String ¶
func (m *ConfChange) String() string
func (*ConfChange) Unmarshal ¶
func (m *ConfChange) Unmarshal(dAtA []byte) error
func (*ConfChange) XXX_DiscardUnknown ¶
func (m *ConfChange) XXX_DiscardUnknown()
func (*ConfChange) XXX_Marshal ¶
func (m *ConfChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ConfChange) XXX_Merge ¶
func (dst *ConfChange) XXX_Merge(src proto.Message)
func (*ConfChange) XXX_Size ¶
func (m *ConfChange) XXX_Size() int
func (*ConfChange) XXX_Unmarshal ¶
func (m *ConfChange) XXX_Unmarshal(b []byte) error
type ConfChangeType ¶
type ConfChangeType int32
const ( ConfChangeType_AddNode ConfChangeType = 0 ConfChangeType_RemoveNode ConfChangeType = 1 )
func (ConfChangeType) EnumDescriptor ¶
func (ConfChangeType) EnumDescriptor() ([]byte, []int)
func (ConfChangeType) String ¶
func (x ConfChangeType) String() string
type ConfState ¶
type ConfState struct { // all node id Nodes []uint64 `protobuf:"varint,1,rep,packed,name=nodes" json:"nodes,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
ConfState contains the current membership information of the raft group
func (*ConfState) Descriptor ¶
func (*ConfState) ProtoMessage ¶
func (*ConfState) ProtoMessage()
func (*ConfState) XXX_DiscardUnknown ¶
func (m *ConfState) XXX_DiscardUnknown()
func (*ConfState) XXX_Marshal ¶
func (*ConfState) XXX_Unmarshal ¶
type Entry ¶
type Entry struct { EntryType EntryType `protobuf:"varint,1,opt,name=entry_type,json=entryType,proto3,enum=eraftpb.EntryType" json:"entry_type,omitempty"` Term uint64 `protobuf:"varint,2,opt,name=term,proto3" json:"term,omitempty"` Index uint64 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
The entry is a type of change that needs to be applied. It contains two data fields. While the fields are built into the model; their usage is determined by the entry_type.
For normal entries, the data field should contain the data change that should be applied. The context field can be used for any contextual data that might be relevant to the application of the data.
For configuration changes, the data will contain the ConfChange message and the context will provide anything needed to assist the configuration change. The context is for the user to set and use in this case.
func (*Entry) Descriptor ¶
func (*Entry) GetEntryType ¶
func (*Entry) ProtoMessage ¶
func (*Entry) ProtoMessage()
func (*Entry) XXX_DiscardUnknown ¶
func (m *Entry) XXX_DiscardUnknown()
func (*Entry) XXX_Marshal ¶
func (*Entry) XXX_Unmarshal ¶
type HardState ¶
type HardState struct { Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` Vote uint64 `protobuf:"varint,2,opt,name=vote,proto3" json:"vote,omitempty"` Commit uint64 `protobuf:"varint,3,opt,name=commit,proto3" json:"commit,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
HardState contains the state of a node need to be peristed, including the current term, commit index and the vote record
func (*HardState) Descriptor ¶
func (*HardState) ProtoMessage ¶
func (*HardState) ProtoMessage()
func (*HardState) XXX_DiscardUnknown ¶
func (m *HardState) XXX_DiscardUnknown()
func (*HardState) XXX_Marshal ¶
func (*HardState) XXX_Unmarshal ¶
type Message ¶
type Message struct { MsgType MessageType `protobuf:"varint,1,opt,name=msg_type,json=msgType,proto3,enum=eraftpb.MessageType" json:"msg_type,omitempty"` To uint64 `protobuf:"varint,2,opt,name=to,proto3" json:"to,omitempty"` From uint64 `protobuf:"varint,3,opt,name=from,proto3" json:"from,omitempty"` Term uint64 `protobuf:"varint,4,opt,name=term,proto3" json:"term,omitempty"` LogTerm uint64 `protobuf:"varint,5,opt,name=log_term,json=logTerm,proto3" json:"log_term,omitempty"` Index uint64 `protobuf:"varint,6,opt,name=index,proto3" json:"index,omitempty"` Entries []*Entry `protobuf:"bytes,7,rep,name=entries" json:"entries,omitempty"` Commit uint64 `protobuf:"varint,8,opt,name=commit,proto3" json:"commit,omitempty"` Snapshot *Snapshot `protobuf:"bytes,9,opt,name=snapshot" json:"snapshot,omitempty"` Reject bool `protobuf:"varint,10,opt,name=reject,proto3" json:"reject,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Message) Descriptor ¶
func (*Message) GetEntries ¶
func (*Message) GetLogTerm ¶
func (*Message) GetMsgType ¶
func (m *Message) GetMsgType() MessageType
func (*Message) GetSnapshot ¶
func (*Message) ProtoMessage ¶
func (*Message) ProtoMessage()
func (*Message) XXX_DiscardUnknown ¶
func (m *Message) XXX_DiscardUnknown()
func (*Message) XXX_Marshal ¶
func (*Message) XXX_Unmarshal ¶
type MessageType ¶
type MessageType int32
Some MessageType defined here are local messages which not come from the network, but should also use the Step method to handle
const ( // 'MessageType_MsgHup' is a local message used for election. If an election timeout happened, // the node should pass 'MessageType_MsgHup' to its Step method and start a new election. MessageType_MsgHup MessageType = 0 // 'MessageType_MsgBeat' is a local message that signals the leader to send a heartbeat // of the 'MessageType_MsgHeartbeat' type to its followers. MessageType_MsgBeat MessageType = 1 // 'MessageType_MsgPropose' is a local message that proposes to append data to the leader's log entries. MessageType_MsgPropose MessageType = 2 // 'MessageType_MsgAppend' contains log entries to replicate. MessageType_MsgAppend MessageType = 3 // 'MessageType_MsgAppendResponse' is response to log replication request('MessageType_MsgAppend'). MessageType_MsgAppendResponse MessageType = 4 // 'MessageType_MsgRequestVote' requests votes for election. MessageType_MsgRequestVote MessageType = 5 // 'MessageType_MsgRequestVoteResponse' contains responses from voting request. MessageType_MsgRequestVoteResponse MessageType = 6 // 'MessageType_MsgSnapshot' requests to install a snapshot message. MessageType_MsgSnapshot MessageType = 7 // 'MessageType_MsgHeartbeat' sends heartbeat from leader to its followers. MessageType_MsgHeartbeat MessageType = 8 // 'MessageType_MsgHeartbeatResponse' is a response to 'MessageType_MsgHeartbeat'. MessageType_MsgHeartbeatResponse MessageType = 9 // 'MessageType_MsgTransferLeader' requests the leader to transfer its leadership. MessageType_MsgTransferLeader MessageType = 11 // 'MessageType_MsgTimeoutNow' send from the leader to the leadership transfer target, to let // the transfer target timeout immediately and start a new election. MessageType_MsgTimeoutNow MessageType = 12 )
func (MessageType) EnumDescriptor ¶
func (MessageType) EnumDescriptor() ([]byte, []int)
func (MessageType) String ¶
func (x MessageType) String() string
type Snapshot ¶
type Snapshot struct { Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Metadata *SnapshotMetadata `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Snapshot) Descriptor ¶
func (*Snapshot) GetMetadata ¶
func (m *Snapshot) GetMetadata() *SnapshotMetadata
func (*Snapshot) ProtoMessage ¶
func (*Snapshot) ProtoMessage()
func (*Snapshot) XXX_DiscardUnknown ¶
func (m *Snapshot) XXX_DiscardUnknown()
func (*Snapshot) XXX_Marshal ¶
func (*Snapshot) XXX_Unmarshal ¶
type SnapshotMetadata ¶
type SnapshotMetadata struct { ConfState *ConfState `protobuf:"bytes,1,opt,name=conf_state,json=confState" json:"conf_state,omitempty"` Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` Term uint64 `protobuf:"varint,3,opt,name=term,proto3" json:"term,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
SnapshotMetadata contains the log index and term of the last log applied to this Snapshot, along with the membership information of the time the last log applied.
func (*SnapshotMetadata) Descriptor ¶
func (*SnapshotMetadata) Descriptor() ([]byte, []int)
func (*SnapshotMetadata) GetConfState ¶
func (m *SnapshotMetadata) GetConfState() *ConfState
func (*SnapshotMetadata) GetIndex ¶
func (m *SnapshotMetadata) GetIndex() uint64
func (*SnapshotMetadata) GetTerm ¶
func (m *SnapshotMetadata) GetTerm() uint64
func (*SnapshotMetadata) Marshal ¶
func (m *SnapshotMetadata) Marshal() (dAtA []byte, err error)
func (*SnapshotMetadata) ProtoMessage ¶
func (*SnapshotMetadata) ProtoMessage()
func (*SnapshotMetadata) Reset ¶
func (m *SnapshotMetadata) Reset()
func (*SnapshotMetadata) Size ¶
func (m *SnapshotMetadata) Size() (n int)
func (*SnapshotMetadata) String ¶
func (m *SnapshotMetadata) String() string
func (*SnapshotMetadata) Unmarshal ¶
func (m *SnapshotMetadata) Unmarshal(dAtA []byte) error
func (*SnapshotMetadata) XXX_DiscardUnknown ¶
func (m *SnapshotMetadata) XXX_DiscardUnknown()
func (*SnapshotMetadata) XXX_Marshal ¶
func (m *SnapshotMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SnapshotMetadata) XXX_Merge ¶
func (dst *SnapshotMetadata) XXX_Merge(src proto.Message)
func (*SnapshotMetadata) XXX_Size ¶
func (m *SnapshotMetadata) XXX_Size() int
func (*SnapshotMetadata) XXX_Unmarshal ¶
func (m *SnapshotMetadata) XXX_Unmarshal(b []byte) error