Documentation ¶
Index ¶
- Variables
- func MapToAppendEntriesReq(from *AppendEntriesArguments) (to *core.AppendEntriesReq)
- func MapToAppendEntriesResp(from *AppendEntriesResults) (to *core.AppendEntriesResp)
- func MapToCmdReq(from *CmdRequest) (to *core.CmdReq)
- func MapToCmdResp(from *CmdResponse) (to *core.CmdResp)
- func MapToRequestVoteReq(from *RequestVoteArguments) (to *core.RequestVoteReq)
- func MapToRequestVoteResp(from *RequestVoteResults) (to *core.RequestVoteResp)
- func RegisterRaftRpcServer(s grpc.ServiceRegistrar, srv RaftRpcServer)
- type AppendEntriesArguments
- func (*AppendEntriesArguments) Descriptor() ([]byte, []int)deprecated
- func (x *AppendEntriesArguments) GetEntries() []*Entry
- func (x *AppendEntriesArguments) GetLeaderCommit() int64
- func (x *AppendEntriesArguments) GetLeaderId() string
- func (x *AppendEntriesArguments) GetPrevLogIndex() int64
- func (x *AppendEntriesArguments) GetPrevLogTerm() int64
- func (x *AppendEntriesArguments) GetTerm() int64
- func (*AppendEntriesArguments) ProtoMessage()
- func (x *AppendEntriesArguments) ProtoReflect() protoreflect.Message
- func (x *AppendEntriesArguments) Reset()
- func (x *AppendEntriesArguments) String() string
- type AppendEntriesResults
- func (*AppendEntriesResults) Descriptor() ([]byte, []int)deprecated
- func (x *AppendEntriesResults) GetSuccess() bool
- func (x *AppendEntriesResults) GetTerm() int64
- func (*AppendEntriesResults) ProtoMessage()
- func (x *AppendEntriesResults) ProtoReflect() protoreflect.Message
- func (x *AppendEntriesResults) Reset()
- func (x *AppendEntriesResults) String() string
- type Caller
- type CmdRequest
- type CmdResponse
- func (*CmdResponse) Descriptor() ([]byte, []int)deprecated
- func (x *CmdResponse) GetResult() string
- func (x *CmdResponse) GetSuccess() bool
- func (*CmdResponse) ProtoMessage()
- func (x *CmdResponse) ProtoReflect() protoreflect.Message
- func (x *CmdResponse) Reset()
- func (x *CmdResponse) String() string
- type Entry
- type RaftRpcClient
- type RaftRpcServer
- type RaftServer
- func (s *RaftServer) AppendEntries(ctx context.Context, in *AppendEntriesArguments) (*AppendEntriesResults, error)
- func (s *RaftServer) ExecCmd(ctx context.Context, in *CmdRequest) (*CmdResponse, error)
- func (s *RaftServer) RequestVote(ctx context.Context, in *RequestVoteArguments) (*RequestVoteResults, error)
- type RequestVoteArguments
- func (*RequestVoteArguments) Descriptor() ([]byte, []int)deprecated
- func (x *RequestVoteArguments) GetCandidateId() string
- func (x *RequestVoteArguments) GetLastLogIndex() int64
- func (x *RequestVoteArguments) GetLastLogTerm() int64
- func (x *RequestVoteArguments) GetTerm() int64
- func (*RequestVoteArguments) ProtoMessage()
- func (x *RequestVoteArguments) ProtoReflect() protoreflect.Message
- func (x *RequestVoteArguments) Reset()
- func (x *RequestVoteArguments) String() string
- type RequestVoteResults
- func (*RequestVoteResults) Descriptor() ([]byte, []int)deprecated
- func (x *RequestVoteResults) GetTerm() int64
- func (x *RequestVoteResults) GetVoteGranted() bool
- func (*RequestVoteResults) ProtoMessage()
- func (x *RequestVoteResults) ProtoReflect() protoreflect.Message
- func (x *RequestVoteResults) Reset()
- func (x *RequestVoteResults) String() string
- type UnimplementedRaftRpcServer
- func (UnimplementedRaftRpcServer) AppendEntries(context.Context, *AppendEntriesArguments) (*AppendEntriesResults, error)
- func (UnimplementedRaftRpcServer) ExecCmd(context.Context, *CmdRequest) (*CmdResponse, error)
- func (UnimplementedRaftRpcServer) RequestVote(context.Context, *RequestVoteArguments) (*RequestVoteResults, error)
- type UnsafeRaftRpcServer
Constants ¶
This section is empty.
Variables ¶
var File_raft_rpc_proto protoreflect.FileDescriptor
var RaftRpc_ServiceDesc = grpc.ServiceDesc{ ServiceName: "api.RaftRpc", HandlerType: (*RaftRpcServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "RequestVote", Handler: _RaftRpc_RequestVote_Handler, }, { MethodName: "AppendEntries", Handler: _RaftRpc_AppendEntries_Handler, }, { MethodName: "ExecCmd", Handler: _RaftRpc_ExecCmd_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "raft_rpc.proto", }
RaftRpc_ServiceDesc is the grpc.ServiceDesc for RaftRpc service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func MapToAppendEntriesReq ¶
func MapToAppendEntriesReq(from *AppendEntriesArguments) (to *core.AppendEntriesReq)
func MapToAppendEntriesResp ¶
func MapToAppendEntriesResp(from *AppendEntriesResults) (to *core.AppendEntriesResp)
func MapToCmdReq ¶
func MapToCmdReq(from *CmdRequest) (to *core.CmdReq)
func MapToCmdResp ¶
func MapToCmdResp(from *CmdResponse) (to *core.CmdResp)
func MapToRequestVoteReq ¶
func MapToRequestVoteReq(from *RequestVoteArguments) (to *core.RequestVoteReq)
func MapToRequestVoteResp ¶
func MapToRequestVoteResp(from *RequestVoteResults) (to *core.RequestVoteResp)
func RegisterRaftRpcServer ¶
func RegisterRaftRpcServer(s grpc.ServiceRegistrar, srv RaftRpcServer)
Types ¶
type AppendEntriesArguments ¶
type AppendEntriesArguments struct { Term int64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` LeaderId string `protobuf:"bytes,2,opt,name=leader_id,json=leaderId,proto3" json:"leader_id,omitempty"` PrevLogIndex int64 `protobuf:"varint,3,opt,name=prev_log_index,json=prevLogIndex,proto3" json:"prev_log_index,omitempty"` PrevLogTerm int64 `protobuf:"varint,4,opt,name=prev_log_term,json=prevLogTerm,proto3" json:"prev_log_term,omitempty"` Entries []*Entry `protobuf:"bytes,5,rep,name=entries,proto3" json:"entries,omitempty"` LeaderCommit int64 `protobuf:"varint,6,opt,name=leader_commit,json=leaderCommit,proto3" json:"leader_commit,omitempty"` // contains filtered or unexported fields }
func MapToAppendEntriesArguments ¶
func MapToAppendEntriesArguments(from *core.AppendEntriesReq) (to *AppendEntriesArguments)
func (*AppendEntriesArguments) Descriptor
deprecated
func (*AppendEntriesArguments) Descriptor() ([]byte, []int)
Deprecated: Use AppendEntriesArguments.ProtoReflect.Descriptor instead.
func (*AppendEntriesArguments) GetEntries ¶
func (x *AppendEntriesArguments) GetEntries() []*Entry
func (*AppendEntriesArguments) GetLeaderCommit ¶
func (x *AppendEntriesArguments) GetLeaderCommit() int64
func (*AppendEntriesArguments) GetLeaderId ¶
func (x *AppendEntriesArguments) GetLeaderId() string
func (*AppendEntriesArguments) GetPrevLogIndex ¶
func (x *AppendEntriesArguments) GetPrevLogIndex() int64
func (*AppendEntriesArguments) GetPrevLogTerm ¶
func (x *AppendEntriesArguments) GetPrevLogTerm() int64
func (*AppendEntriesArguments) GetTerm ¶
func (x *AppendEntriesArguments) GetTerm() int64
func (*AppendEntriesArguments) ProtoMessage ¶
func (*AppendEntriesArguments) ProtoMessage()
func (*AppendEntriesArguments) ProtoReflect ¶
func (x *AppendEntriesArguments) ProtoReflect() protoreflect.Message
func (*AppendEntriesArguments) Reset ¶
func (x *AppendEntriesArguments) Reset()
func (*AppendEntriesArguments) String ¶
func (x *AppendEntriesArguments) String() string
type AppendEntriesResults ¶
type AppendEntriesResults struct { Term int64 `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 MapToAppendEntriesResults ¶
func MapToAppendEntriesResults(from *core.AppendEntriesResp) (to *AppendEntriesResults)
func (*AppendEntriesResults) Descriptor
deprecated
func (*AppendEntriesResults) Descriptor() ([]byte, []int)
Deprecated: Use AppendEntriesResults.ProtoReflect.Descriptor instead.
func (*AppendEntriesResults) GetSuccess ¶
func (x *AppendEntriesResults) GetSuccess() bool
func (*AppendEntriesResults) GetTerm ¶
func (x *AppendEntriesResults) GetTerm() int64
func (*AppendEntriesResults) ProtoMessage ¶
func (*AppendEntriesResults) ProtoMessage()
func (*AppendEntriesResults) ProtoReflect ¶
func (x *AppendEntriesResults) ProtoReflect() protoreflect.Message
func (*AppendEntriesResults) Reset ¶
func (x *AppendEntriesResults) Reset()
func (*AppendEntriesResults) String ¶
func (x *AppendEntriesResults) String() string
type CmdRequest ¶
type CmdRequest struct { Cmd string `protobuf:"bytes,1,opt,name=cmd,proto3" json:"cmd,omitempty"` // contains filtered or unexported fields }
client command
func MapToCmdRequest ¶
func MapToCmdRequest(from *core.CmdReq) (to *CmdRequest)
func (*CmdRequest) Descriptor
deprecated
func (*CmdRequest) Descriptor() ([]byte, []int)
Deprecated: Use CmdRequest.ProtoReflect.Descriptor instead.
func (*CmdRequest) GetCmd ¶
func (x *CmdRequest) GetCmd() string
func (*CmdRequest) ProtoMessage ¶
func (*CmdRequest) ProtoMessage()
func (*CmdRequest) ProtoReflect ¶
func (x *CmdRequest) ProtoReflect() protoreflect.Message
func (*CmdRequest) Reset ¶
func (x *CmdRequest) Reset()
func (*CmdRequest) String ¶
func (x *CmdRequest) String() string
type CmdResponse ¶
type CmdResponse struct { Result string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` // contains filtered or unexported fields }
func MapToCmdResponse ¶
func MapToCmdResponse(from *core.CmdResp) (to *CmdResponse)
func (*CmdResponse) Descriptor
deprecated
func (*CmdResponse) Descriptor() ([]byte, []int)
Deprecated: Use CmdResponse.ProtoReflect.Descriptor instead.
func (*CmdResponse) GetResult ¶
func (x *CmdResponse) GetResult() string
func (*CmdResponse) GetSuccess ¶
func (x *CmdResponse) GetSuccess() bool
func (*CmdResponse) ProtoMessage ¶
func (*CmdResponse) ProtoMessage()
func (*CmdResponse) ProtoReflect ¶
func (x *CmdResponse) ProtoReflect() protoreflect.Message
func (*CmdResponse) Reset ¶
func (x *CmdResponse) Reset()
func (*CmdResponse) String ¶
func (x *CmdResponse) String() string
type Entry ¶
type Entry struct { Term int64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` Idx int64 `protobuf:"varint,2,opt,name=idx,proto3" json:"idx,omitempty"` Cmd string `protobuf:"bytes,3,opt,name=cmd,proto3" json:"cmd,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 RaftRpcClient ¶
type RaftRpcClient interface { RequestVote(ctx context.Context, in *RequestVoteArguments, opts ...grpc.CallOption) (*RequestVoteResults, error) AppendEntries(ctx context.Context, in *AppendEntriesArguments, opts ...grpc.CallOption) (*AppendEntriesResults, error) ExecCmd(ctx context.Context, in *CmdRequest, opts ...grpc.CallOption) (*CmdResponse, error) }
RaftRpcClient is the client API for RaftRpc 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 NewRaftRpcClient ¶
func NewRaftRpcClient(cc grpc.ClientConnInterface) RaftRpcClient
type RaftRpcServer ¶
type RaftRpcServer interface { RequestVote(context.Context, *RequestVoteArguments) (*RequestVoteResults, error) AppendEntries(context.Context, *AppendEntriesArguments) (*AppendEntriesResults, error) ExecCmd(context.Context, *CmdRequest) (*CmdResponse, error) // contains filtered or unexported methods }
RaftRpcServer is the server API for RaftRpc service. All implementations must embed UnimplementedRaftRpcServer for forward compatibility
type RaftServer ¶
type RaftServer struct { UnimplementedRaftRpcServer // contains filtered or unexported fields }
func NewServer ¶
func NewServer(inputCh chan *mgr.Rpc, mgr *mgr.RaftManager) *RaftServer
func (*RaftServer) AppendEntries ¶
func (s *RaftServer) AppendEntries(ctx context.Context, in *AppendEntriesArguments) (*AppendEntriesResults, error)
func (*RaftServer) ExecCmd ¶
func (s *RaftServer) ExecCmd(ctx context.Context, in *CmdRequest) (*CmdResponse, error)
func (*RaftServer) RequestVote ¶
func (s *RaftServer) RequestVote(ctx context.Context, in *RequestVoteArguments) (*RequestVoteResults, error)
type RequestVoteArguments ¶
type RequestVoteArguments struct { Term int64 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` CandidateId string `protobuf:"bytes,2,opt,name=candidate_id,json=candidateId,proto3" json:"candidate_id,omitempty"` LastLogIndex int64 `protobuf:"varint,3,opt,name=last_log_index,json=lastLogIndex,proto3" json:"last_log_index,omitempty"` LastLogTerm int64 `protobuf:"varint,4,opt,name=last_log_term,json=lastLogTerm,proto3" json:"last_log_term,omitempty"` // contains filtered or unexported fields }
inner rpc
func MapToRequestVoteArguments ¶
func MapToRequestVoteArguments(from *core.RequestVoteReq) (to *RequestVoteArguments)
func (*RequestVoteArguments) Descriptor
deprecated
func (*RequestVoteArguments) Descriptor() ([]byte, []int)
Deprecated: Use RequestVoteArguments.ProtoReflect.Descriptor instead.
func (*RequestVoteArguments) GetCandidateId ¶
func (x *RequestVoteArguments) GetCandidateId() string
func (*RequestVoteArguments) GetLastLogIndex ¶
func (x *RequestVoteArguments) GetLastLogIndex() int64
func (*RequestVoteArguments) GetLastLogTerm ¶
func (x *RequestVoteArguments) GetLastLogTerm() int64
func (*RequestVoteArguments) GetTerm ¶
func (x *RequestVoteArguments) GetTerm() int64
func (*RequestVoteArguments) ProtoMessage ¶
func (*RequestVoteArguments) ProtoMessage()
func (*RequestVoteArguments) ProtoReflect ¶
func (x *RequestVoteArguments) ProtoReflect() protoreflect.Message
func (*RequestVoteArguments) Reset ¶
func (x *RequestVoteArguments) Reset()
func (*RequestVoteArguments) String ¶
func (x *RequestVoteArguments) String() string
type RequestVoteResults ¶
type RequestVoteResults struct { Term int64 `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 MapToRequestVoteResults ¶
func MapToRequestVoteResults(from *core.RequestVoteResp) (to *RequestVoteResults)
func (*RequestVoteResults) Descriptor
deprecated
func (*RequestVoteResults) Descriptor() ([]byte, []int)
Deprecated: Use RequestVoteResults.ProtoReflect.Descriptor instead.
func (*RequestVoteResults) GetTerm ¶
func (x *RequestVoteResults) GetTerm() int64
func (*RequestVoteResults) GetVoteGranted ¶
func (x *RequestVoteResults) GetVoteGranted() bool
func (*RequestVoteResults) ProtoMessage ¶
func (*RequestVoteResults) ProtoMessage()
func (*RequestVoteResults) ProtoReflect ¶
func (x *RequestVoteResults) ProtoReflect() protoreflect.Message
func (*RequestVoteResults) Reset ¶
func (x *RequestVoteResults) Reset()
func (*RequestVoteResults) String ¶
func (x *RequestVoteResults) String() string
type UnimplementedRaftRpcServer ¶
type UnimplementedRaftRpcServer struct { }
UnimplementedRaftRpcServer must be embedded to have forward compatible implementations.
func (UnimplementedRaftRpcServer) AppendEntries ¶
func (UnimplementedRaftRpcServer) AppendEntries(context.Context, *AppendEntriesArguments) (*AppendEntriesResults, error)
func (UnimplementedRaftRpcServer) ExecCmd ¶
func (UnimplementedRaftRpcServer) ExecCmd(context.Context, *CmdRequest) (*CmdResponse, error)
func (UnimplementedRaftRpcServer) RequestVote ¶
func (UnimplementedRaftRpcServer) RequestVote(context.Context, *RequestVoteArguments) (*RequestVoteResults, error)
type UnsafeRaftRpcServer ¶
type UnsafeRaftRpcServer interface {
// contains filtered or unexported methods
}
UnsafeRaftRpcServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RaftRpcServer will result in compilation errors.