Documentation ¶
Index ¶
- Variables
- func RegisterRaftServer(s grpc.ServiceRegistrar, srv RaftServer)
- type AppendEntriesRequest
- func (*AppendEntriesRequest) Descriptor() ([]byte, []int)deprecated
- func (x *AppendEntriesRequest) GetEntries() []*Entry
- func (x *AppendEntriesRequest) GetLeaderCommitId() uint64
- func (x *AppendEntriesRequest) GetLeaderId() uint32
- func (x *AppendEntriesRequest) GetPrevLogId() uint64
- func (x *AppendEntriesRequest) GetPrevLogTerm() uint64
- func (x *AppendEntriesRequest) GetTerm() uint64
- func (*AppendEntriesRequest) ProtoMessage()
- func (x *AppendEntriesRequest) ProtoReflect() protoreflect.Message
- func (x *AppendEntriesRequest) Reset()
- func (x *AppendEntriesRequest) String() string
- type AppendEntriesResponse
- func (*AppendEntriesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *AppendEntriesResponse) GetSuccess() bool
- func (x *AppendEntriesResponse) GetTerm() uint64
- func (*AppendEntriesResponse) ProtoMessage()
- func (x *AppendEntriesResponse) ProtoReflect() protoreflect.Message
- func (x *AppendEntriesResponse) Reset()
- func (x *AppendEntriesResponse) String() string
- type ApplyCommandRequest
- func (*ApplyCommandRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ApplyCommandRequest) GetData() []byte
- func (*ApplyCommandRequest) ProtoMessage()
- func (x *ApplyCommandRequest) ProtoReflect() protoreflect.Message
- func (x *ApplyCommandRequest) Reset()
- func (x *ApplyCommandRequest) String() string
- type ApplyCommandResponse
- func (*ApplyCommandResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ApplyCommandResponse) GetEntry() *Entry
- func (*ApplyCommandResponse) ProtoMessage()
- func (x *ApplyCommandResponse) ProtoReflect() protoreflect.Message
- func (x *ApplyCommandResponse) Reset()
- func (x *ApplyCommandResponse) String() string
- type Entry
- type RaftClient
- type RaftServer
- type RequestVoteRequest
- func (*RequestVoteRequest) Descriptor() ([]byte, []int)deprecated
- func (x *RequestVoteRequest) GetCandidateId() uint32
- func (x *RequestVoteRequest) GetLastLogId() uint64
- func (x *RequestVoteRequest) GetLastLogTerm() uint64
- func (x *RequestVoteRequest) GetTerm() uint64
- func (*RequestVoteRequest) ProtoMessage()
- func (x *RequestVoteRequest) ProtoReflect() protoreflect.Message
- func (x *RequestVoteRequest) Reset()
- func (x *RequestVoteRequest) String() string
- type RequestVoteResponse
- func (*RequestVoteResponse) Descriptor() ([]byte, []int)deprecated
- func (x *RequestVoteResponse) GetTerm() uint64
- func (x *RequestVoteResponse) GetVoteGranted() bool
- func (*RequestVoteResponse) ProtoMessage()
- func (x *RequestVoteResponse) ProtoReflect() protoreflect.Message
- func (x *RequestVoteResponse) Reset()
- func (x *RequestVoteResponse) String() string
- type UnimplementedRaftServer
- func (UnimplementedRaftServer) AppendEntries(context.Context, *AppendEntriesRequest) (*AppendEntriesResponse, error)
- func (UnimplementedRaftServer) ApplyCommand(context.Context, *ApplyCommandRequest) (*ApplyCommandResponse, error)
- func (UnimplementedRaftServer) RequestVote(context.Context, *RequestVoteRequest) (*RequestVoteResponse, error)
- type UnsafeRaftServer
Constants ¶
This section is empty.
Variables ¶
var File_pb_message_proto protoreflect.FileDescriptor
var File_pb_rpc_proto protoreflect.FileDescriptor
var Raft_ServiceDesc = grpc.ServiceDesc{ ServiceName: "pb.Raft", HandlerType: (*RaftServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ApplyCommand", Handler: _Raft_ApplyCommand_Handler, }, { MethodName: "AppendEntries", Handler: _Raft_AppendEntries_Handler, }, { MethodName: "RequestVote", Handler: _Raft_RequestVote_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "pb/rpc.proto", }
Raft_ServiceDesc is the grpc.ServiceDesc for Raft service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterRaftServer ¶
func RegisterRaftServer(s grpc.ServiceRegistrar, srv RaftServer)
Types ¶
type AppendEntriesRequest ¶
type AppendEntriesRequest struct { Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` LeaderId uint32 `protobuf:"varint,2,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"` LeaderCommitId uint64 `protobuf:"varint,3,opt,name=leader_commit_id,json=leaderCommitId,proto3" json:"leader_commit_id,omitempty"` PrevLogId uint64 `protobuf:"varint,4,opt,name=prev_log_id,json=prevLogId,proto3" json:"prev_log_id,omitempty"` PrevLogTerm uint64 `protobuf:"varint,5,opt,name=prev_log_term,json=prevLogTerm,proto3" json:"prev_log_term,omitempty"` Entries []*Entry `protobuf:"bytes,6,rep,name=entries,proto3" json:"entries,omitempty"` // contains filtered or unexported fields }
func (*AppendEntriesRequest) Descriptor
deprecated
func (*AppendEntriesRequest) Descriptor() ([]byte, []int)
Deprecated: Use AppendEntriesRequest.ProtoReflect.Descriptor instead.
func (*AppendEntriesRequest) GetEntries ¶
func (x *AppendEntriesRequest) GetEntries() []*Entry
func (*AppendEntriesRequest) GetLeaderCommitId ¶
func (x *AppendEntriesRequest) GetLeaderCommitId() uint64
func (*AppendEntriesRequest) GetLeaderId ¶
func (x *AppendEntriesRequest) GetLeaderId() uint32
func (*AppendEntriesRequest) GetPrevLogId ¶
func (x *AppendEntriesRequest) GetPrevLogId() uint64
func (*AppendEntriesRequest) GetPrevLogTerm ¶
func (x *AppendEntriesRequest) GetPrevLogTerm() uint64
func (*AppendEntriesRequest) GetTerm ¶
func (x *AppendEntriesRequest) GetTerm() uint64
func (*AppendEntriesRequest) ProtoMessage ¶
func (*AppendEntriesRequest) ProtoMessage()
func (*AppendEntriesRequest) ProtoReflect ¶
func (x *AppendEntriesRequest) ProtoReflect() protoreflect.Message
func (*AppendEntriesRequest) Reset ¶
func (x *AppendEntriesRequest) Reset()
func (*AppendEntriesRequest) String ¶
func (x *AppendEntriesRequest) String() string
type AppendEntriesResponse ¶
type AppendEntriesResponse struct { Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` // contains filtered or unexported fields }
func (*AppendEntriesResponse) Descriptor
deprecated
func (*AppendEntriesResponse) Descriptor() ([]byte, []int)
Deprecated: Use AppendEntriesResponse.ProtoReflect.Descriptor instead.
func (*AppendEntriesResponse) GetSuccess ¶
func (x *AppendEntriesResponse) GetSuccess() bool
func (*AppendEntriesResponse) GetTerm ¶
func (x *AppendEntriesResponse) GetTerm() uint64
func (*AppendEntriesResponse) ProtoMessage ¶
func (*AppendEntriesResponse) ProtoMessage()
func (*AppendEntriesResponse) ProtoReflect ¶
func (x *AppendEntriesResponse) ProtoReflect() protoreflect.Message
func (*AppendEntriesResponse) Reset ¶
func (x *AppendEntriesResponse) Reset()
func (*AppendEntriesResponse) String ¶
func (x *AppendEntriesResponse) String() string
type ApplyCommandRequest ¶
type ApplyCommandRequest struct { Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` // contains filtered or unexported fields }
func (*ApplyCommandRequest) Descriptor
deprecated
func (*ApplyCommandRequest) Descriptor() ([]byte, []int)
Deprecated: Use ApplyCommandRequest.ProtoReflect.Descriptor instead.
func (*ApplyCommandRequest) GetData ¶
func (x *ApplyCommandRequest) GetData() []byte
func (*ApplyCommandRequest) ProtoMessage ¶
func (*ApplyCommandRequest) ProtoMessage()
func (*ApplyCommandRequest) ProtoReflect ¶
func (x *ApplyCommandRequest) ProtoReflect() protoreflect.Message
func (*ApplyCommandRequest) Reset ¶
func (x *ApplyCommandRequest) Reset()
func (*ApplyCommandRequest) String ¶
func (x *ApplyCommandRequest) String() string
type ApplyCommandResponse ¶
type ApplyCommandResponse struct { Entry *Entry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"` // contains filtered or unexported fields }
func (*ApplyCommandResponse) Descriptor
deprecated
func (*ApplyCommandResponse) Descriptor() ([]byte, []int)
Deprecated: Use ApplyCommandResponse.ProtoReflect.Descriptor instead.
func (*ApplyCommandResponse) GetEntry ¶
func (x *ApplyCommandResponse) GetEntry() *Entry
func (*ApplyCommandResponse) ProtoMessage ¶
func (*ApplyCommandResponse) ProtoMessage()
func (*ApplyCommandResponse) ProtoReflect ¶
func (x *ApplyCommandResponse) ProtoReflect() protoreflect.Message
func (*ApplyCommandResponse) Reset ¶
func (x *ApplyCommandResponse) Reset()
func (*ApplyCommandResponse) String ¶
func (x *ApplyCommandResponse) String() string
type Entry ¶
type Entry struct { Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Term uint64 `protobuf:"varint,2,opt,name=term,proto3" json:"term,omitempty"` Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` // contains filtered or unexported fields }
func (*Entry) Descriptor
deprecated
func (*Entry) ProtoMessage ¶
func (*Entry) ProtoMessage()
func (*Entry) ProtoReflect ¶
func (x *Entry) ProtoReflect() protoreflect.Message
type RaftClient ¶
type RaftClient interface { // external RPCs ApplyCommand(ctx context.Context, in *ApplyCommandRequest, opts ...grpc.CallOption) (*ApplyCommandResponse, error) // internal RPCs AppendEntries(ctx context.Context, in *AppendEntriesRequest, opts ...grpc.CallOption) (*AppendEntriesResponse, error) RequestVote(ctx context.Context, in *RequestVoteRequest, opts ...grpc.CallOption) (*RequestVoteResponse, error) }
RaftClient is the client API for Raft service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewRaftClient ¶
func NewRaftClient(cc grpc.ClientConnInterface) RaftClient
type RaftServer ¶
type RaftServer interface { // external RPCs ApplyCommand(context.Context, *ApplyCommandRequest) (*ApplyCommandResponse, error) // internal RPCs AppendEntries(context.Context, *AppendEntriesRequest) (*AppendEntriesResponse, error) RequestVote(context.Context, *RequestVoteRequest) (*RequestVoteResponse, error) // contains filtered or unexported methods }
RaftServer is the server API for Raft service. All implementations must embed UnimplementedRaftServer for forward compatibility
type RequestVoteRequest ¶
type RequestVoteRequest struct { Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` CandidateId uint32 `protobuf:"varint,2,opt,name=candidate_id,json=candidateId,proto3" json:"candidate_id,omitempty"` LastLogId uint64 `protobuf:"varint,3,opt,name=last_log_id,json=lastLogId,proto3" json:"last_log_id,omitempty"` LastLogTerm uint64 `protobuf:"varint,4,opt,name=last_log_term,json=lastLogTerm,proto3" json:"last_log_term,omitempty"` // contains filtered or unexported fields }
func (*RequestVoteRequest) Descriptor
deprecated
func (*RequestVoteRequest) Descriptor() ([]byte, []int)
Deprecated: Use RequestVoteRequest.ProtoReflect.Descriptor instead.
func (*RequestVoteRequest) GetCandidateId ¶
func (x *RequestVoteRequest) GetCandidateId() uint32
func (*RequestVoteRequest) GetLastLogId ¶
func (x *RequestVoteRequest) GetLastLogId() uint64
func (*RequestVoteRequest) GetLastLogTerm ¶
func (x *RequestVoteRequest) GetLastLogTerm() uint64
func (*RequestVoteRequest) GetTerm ¶
func (x *RequestVoteRequest) GetTerm() uint64
func (*RequestVoteRequest) ProtoMessage ¶
func (*RequestVoteRequest) ProtoMessage()
func (*RequestVoteRequest) ProtoReflect ¶
func (x *RequestVoteRequest) ProtoReflect() protoreflect.Message
func (*RequestVoteRequest) Reset ¶
func (x *RequestVoteRequest) Reset()
func (*RequestVoteRequest) String ¶
func (x *RequestVoteRequest) String() string
type RequestVoteResponse ¶
type RequestVoteResponse struct { Term uint64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` VoteGranted bool `protobuf:"varint,2,opt,name=vote_granted,json=voteGranted,proto3" json:"vote_granted,omitempty"` // contains filtered or unexported fields }
func (*RequestVoteResponse) Descriptor
deprecated
func (*RequestVoteResponse) Descriptor() ([]byte, []int)
Deprecated: Use RequestVoteResponse.ProtoReflect.Descriptor instead.
func (*RequestVoteResponse) GetTerm ¶
func (x *RequestVoteResponse) GetTerm() uint64
func (*RequestVoteResponse) GetVoteGranted ¶
func (x *RequestVoteResponse) GetVoteGranted() bool
func (*RequestVoteResponse) ProtoMessage ¶
func (*RequestVoteResponse) ProtoMessage()
func (*RequestVoteResponse) ProtoReflect ¶
func (x *RequestVoteResponse) ProtoReflect() protoreflect.Message
func (*RequestVoteResponse) Reset ¶
func (x *RequestVoteResponse) Reset()
func (*RequestVoteResponse) String ¶
func (x *RequestVoteResponse) String() string
type UnimplementedRaftServer ¶
type UnimplementedRaftServer struct { }
UnimplementedRaftServer must be embedded to have forward compatible implementations.
func (UnimplementedRaftServer) AppendEntries ¶
func (UnimplementedRaftServer) AppendEntries(context.Context, *AppendEntriesRequest) (*AppendEntriesResponse, error)
func (UnimplementedRaftServer) ApplyCommand ¶
func (UnimplementedRaftServer) ApplyCommand(context.Context, *ApplyCommandRequest) (*ApplyCommandResponse, error)
func (UnimplementedRaftServer) RequestVote ¶
func (UnimplementedRaftServer) RequestVote(context.Context, *RequestVoteRequest) (*RequestVoteResponse, error)
type UnsafeRaftServer ¶
type UnsafeRaftServer interface {
// contains filtered or unexported methods
}
UnsafeRaftServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RaftServer will result in compilation errors.