Documentation
¶
Index ¶
- Variables
- func RegisterRaftServiceServer(s grpc.ServiceRegistrar, srv RaftServiceServer)
- type AppendEntriesRequest
- func (*AppendEntriesRequest) Descriptor() ([]byte, []int)deprecated
- func (x *AppendEntriesRequest) GetEntries() []*LogEntry
- func (x *AppendEntriesRequest) GetLeaderCommit() int32
- func (x *AppendEntriesRequest) GetLeaderId() int32
- func (x *AppendEntriesRequest) GetPrevLogIndex() int32
- func (x *AppendEntriesRequest) GetPrevLogTerm() int32
- func (x *AppendEntriesRequest) GetTerm() int32
- 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() int32
- func (*AppendEntriesResponse) ProtoMessage()
- func (x *AppendEntriesResponse) ProtoReflect() protoreflect.Message
- func (x *AppendEntriesResponse) Reset()
- func (x *AppendEntriesResponse) String() string
- type JoinClusterRequest
- func (*JoinClusterRequest) Descriptor() ([]byte, []int)deprecated
- func (x *JoinClusterRequest) GetAddr() string
- func (x *JoinClusterRequest) GetId() int32
- func (*JoinClusterRequest) ProtoMessage()
- func (x *JoinClusterRequest) ProtoReflect() protoreflect.Message
- func (x *JoinClusterRequest) Reset()
- func (x *JoinClusterRequest) String() string
- type JoinClusterResponse
- func (*JoinClusterResponse) Descriptor() ([]byte, []int)deprecated
- func (x *JoinClusterResponse) GetAddrs() []string
- func (x *JoinClusterResponse) GetId() int32
- func (x *JoinClusterResponse) GetIds() []int32
- func (*JoinClusterResponse) ProtoMessage()
- func (x *JoinClusterResponse) ProtoReflect() protoreflect.Message
- func (x *JoinClusterResponse) Reset()
- func (x *JoinClusterResponse) String() string
- type LogEntry
- type RaftServiceClient
- type RaftServiceServer
- type RequestVoteRequest
- func (*RequestVoteRequest) Descriptor() ([]byte, []int)deprecated
- func (x *RequestVoteRequest) GetCandidateId() int32
- func (x *RequestVoteRequest) GetLastLogIndex() int32
- func (x *RequestVoteRequest) GetLastLogTerm() int32
- func (x *RequestVoteRequest) GetTerm() int32
- 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() int32
- func (x *RequestVoteResponse) GetVoteGranted() bool
- func (*RequestVoteResponse) ProtoMessage()
- func (x *RequestVoteResponse) ProtoReflect() protoreflect.Message
- func (x *RequestVoteResponse) Reset()
- func (x *RequestVoteResponse) String() string
- type SubmitRequest
- type SubmitResponse
- type UnimplementedRaftServiceServer
- func (UnimplementedRaftServiceServer) AppendEntries(context.Context, *AppendEntriesRequest) (*AppendEntriesResponse, error)
- func (UnimplementedRaftServiceServer) JoinCluster(context.Context, *JoinClusterRequest) (*JoinClusterResponse, error)
- func (UnimplementedRaftServiceServer) RequestVote(context.Context, *RequestVoteRequest) (*RequestVoteResponse, error)
- func (UnimplementedRaftServiceServer) Submit(context.Context, *SubmitRequest) (*SubmitResponse, error)
- type UnsafeRaftServiceServer
Constants ¶
This section is empty.
Variables ¶
var File_models_proto protoreflect.FileDescriptor
var File_raft_proto protoreflect.FileDescriptor
var RaftService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "proto.RaftService", HandlerType: (*RaftServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "AppendEntries", Handler: _RaftService_AppendEntries_Handler, }, { MethodName: "RequestVote", Handler: _RaftService_RequestVote_Handler, }, { MethodName: "JoinCluster", Handler: _RaftService_JoinCluster_Handler, }, { MethodName: "Submit", Handler: _RaftService_Submit_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "raft.proto", }
RaftService_ServiceDesc is the grpc.ServiceDesc for RaftService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterRaftServiceServer ¶
func RegisterRaftServiceServer(s grpc.ServiceRegistrar, srv RaftServiceServer)
Types ¶
type AppendEntriesRequest ¶
type AppendEntriesRequest struct { Term int32 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` // the leader's term LeaderId int32 `protobuf:"varint,2,opt,name=leaderId,proto3" json:"leaderId,omitempty"` // the leader's id, so followers can tell the client who the leader is, OR, redirect request to leader PrevLogIndex int32 `protobuf:"varint,3,opt,name=prevLogIndex,proto3" json:"prevLogIndex,omitempty"` // index of log entry immediately preceding new ones PrevLogTerm int32 `protobuf:"varint,4,opt,name=prevLogTerm,proto3" json:"prevLogTerm,omitempty"` // term of prevLogIndex entry Entries []*LogEntry `protobuf:"bytes,5,rep,name=entries,proto3" json:"entries,omitempty"` // log entries to store (empty for heartbeat, may send more than one for efficiency) LeaderCommit int32 `protobuf:"varint,6,opt,name=leaderCommit,proto3" json:"leaderCommit,omitempty"` // leader's commitIndex // 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() []*LogEntry
func (*AppendEntriesRequest) GetLeaderCommit ¶
func (x *AppendEntriesRequest) GetLeaderCommit() int32
func (*AppendEntriesRequest) GetLeaderId ¶
func (x *AppendEntriesRequest) GetLeaderId() int32
func (*AppendEntriesRequest) GetPrevLogIndex ¶
func (x *AppendEntriesRequest) GetPrevLogIndex() int32
func (*AppendEntriesRequest) GetPrevLogTerm ¶
func (x *AppendEntriesRequest) GetPrevLogTerm() int32
func (*AppendEntriesRequest) GetTerm ¶
func (x *AppendEntriesRequest) GetTerm() int32
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 int32 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` // current term, for leader to update itself Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` // true if follower contained entry matching prevLogIndex and prevLogTerm // 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() int32
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 JoinClusterRequest ¶
type JoinClusterRequest struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` // contains filtered or unexported fields }
func (*JoinClusterRequest) Descriptor
deprecated
func (*JoinClusterRequest) Descriptor() ([]byte, []int)
Deprecated: Use JoinClusterRequest.ProtoReflect.Descriptor instead.
func (*JoinClusterRequest) GetAddr ¶
func (x *JoinClusterRequest) GetAddr() string
func (*JoinClusterRequest) GetId ¶
func (x *JoinClusterRequest) GetId() int32
func (*JoinClusterRequest) ProtoMessage ¶
func (*JoinClusterRequest) ProtoMessage()
func (*JoinClusterRequest) ProtoReflect ¶
func (x *JoinClusterRequest) ProtoReflect() protoreflect.Message
func (*JoinClusterRequest) Reset ¶
func (x *JoinClusterRequest) Reset()
func (*JoinClusterRequest) String ¶
func (x *JoinClusterRequest) String() string
type JoinClusterResponse ¶
type JoinClusterResponse struct { Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Ids []int32 `protobuf:"varint,2,rep,packed,name=ids,proto3" json:"ids,omitempty"` Addrs []string `protobuf:"bytes,3,rep,name=addrs,proto3" json:"addrs,omitempty"` // contains filtered or unexported fields }
func (*JoinClusterResponse) Descriptor
deprecated
func (*JoinClusterResponse) Descriptor() ([]byte, []int)
Deprecated: Use JoinClusterResponse.ProtoReflect.Descriptor instead.
func (*JoinClusterResponse) GetAddrs ¶
func (x *JoinClusterResponse) GetAddrs() []string
func (*JoinClusterResponse) GetId ¶
func (x *JoinClusterResponse) GetId() int32
func (*JoinClusterResponse) GetIds ¶
func (x *JoinClusterResponse) GetIds() []int32
func (*JoinClusterResponse) ProtoMessage ¶
func (*JoinClusterResponse) ProtoMessage()
func (*JoinClusterResponse) ProtoReflect ¶
func (x *JoinClusterResponse) ProtoReflect() protoreflect.Message
func (*JoinClusterResponse) Reset ¶
func (x *JoinClusterResponse) Reset()
func (*JoinClusterResponse) String ¶
func (x *JoinClusterResponse) String() string
type LogEntry ¶
type LogEntry struct { Term int32 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` Command string `protobuf:"bytes,2,opt,name=command,proto3" json:"command,omitempty"` // contains filtered or unexported fields }
func (*LogEntry) Descriptor
deprecated
func (*LogEntry) GetCommand ¶
func (*LogEntry) ProtoMessage ¶
func (*LogEntry) ProtoMessage()
func (*LogEntry) ProtoReflect ¶
func (x *LogEntry) ProtoReflect() protoreflect.Message
type RaftServiceClient ¶
type RaftServiceClient interface { AppendEntries(ctx context.Context, in *AppendEntriesRequest, opts ...grpc.CallOption) (*AppendEntriesResponse, error) RequestVote(ctx context.Context, in *RequestVoteRequest, opts ...grpc.CallOption) (*RequestVoteResponse, error) JoinCluster(ctx context.Context, in *JoinClusterRequest, opts ...grpc.CallOption) (*JoinClusterResponse, error) Submit(ctx context.Context, in *SubmitRequest, opts ...grpc.CallOption) (*SubmitResponse, error) }
RaftServiceClient is the client API for RaftService 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 NewRaftServiceClient ¶
func NewRaftServiceClient(cc grpc.ClientConnInterface) RaftServiceClient
type RaftServiceServer ¶
type RaftServiceServer interface { AppendEntries(context.Context, *AppendEntriesRequest) (*AppendEntriesResponse, error) RequestVote(context.Context, *RequestVoteRequest) (*RequestVoteResponse, error) JoinCluster(context.Context, *JoinClusterRequest) (*JoinClusterResponse, error) Submit(context.Context, *SubmitRequest) (*SubmitResponse, error) // contains filtered or unexported methods }
RaftServiceServer is the server API for RaftService service. All implementations must embed UnimplementedRaftServiceServer for forward compatibility
type RequestVoteRequest ¶
type RequestVoteRequest struct { Term int32 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` // candidate's term CandidateId int32 `protobuf:"varint,2,opt,name=candidateId,proto3" json:"candidateId,omitempty"` // candidate requesting vote LastLogIndex int32 `protobuf:"varint,3,opt,name=lastLogIndex,proto3" json:"lastLogIndex,omitempty"` // index of candidate's last log entry LastLogTerm int32 `protobuf:"varint,4,opt,name=lastLogTerm,proto3" json:"lastLogTerm,omitempty"` // term of candidate's last log entry // 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() int32
func (*RequestVoteRequest) GetLastLogIndex ¶
func (x *RequestVoteRequest) GetLastLogIndex() int32
func (*RequestVoteRequest) GetLastLogTerm ¶
func (x *RequestVoteRequest) GetLastLogTerm() int32
func (*RequestVoteRequest) GetTerm ¶
func (x *RequestVoteRequest) GetTerm() int32
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 int32 `protobuf:"varint,1,opt,name=term,proto3" json:"term,omitempty"` // current term, for candidate to update itself VoteGranted bool `protobuf:"varint,2,opt,name=voteGranted,proto3" json:"voteGranted,omitempty"` // true means candidate received vote // 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() int32
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 SubmitRequest ¶
type SubmitRequest struct { Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"` // contains filtered or unexported fields }
func (*SubmitRequest) Descriptor
deprecated
func (*SubmitRequest) Descriptor() ([]byte, []int)
Deprecated: Use SubmitRequest.ProtoReflect.Descriptor instead.
func (*SubmitRequest) GetCommand ¶
func (x *SubmitRequest) GetCommand() string
func (*SubmitRequest) ProtoMessage ¶
func (*SubmitRequest) ProtoMessage()
func (*SubmitRequest) ProtoReflect ¶
func (x *SubmitRequest) ProtoReflect() protoreflect.Message
func (*SubmitRequest) Reset ¶
func (x *SubmitRequest) Reset()
func (*SubmitRequest) String ¶
func (x *SubmitRequest) String() string
type SubmitResponse ¶
type SubmitResponse struct { Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` // contains filtered or unexported fields }
func (*SubmitResponse) Descriptor
deprecated
func (*SubmitResponse) Descriptor() ([]byte, []int)
Deprecated: Use SubmitResponse.ProtoReflect.Descriptor instead.
func (*SubmitResponse) GetSuccess ¶
func (x *SubmitResponse) GetSuccess() bool
func (*SubmitResponse) ProtoMessage ¶
func (*SubmitResponse) ProtoMessage()
func (*SubmitResponse) ProtoReflect ¶
func (x *SubmitResponse) ProtoReflect() protoreflect.Message
func (*SubmitResponse) Reset ¶
func (x *SubmitResponse) Reset()
func (*SubmitResponse) String ¶
func (x *SubmitResponse) String() string
type UnimplementedRaftServiceServer ¶
type UnimplementedRaftServiceServer struct { }
UnimplementedRaftServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedRaftServiceServer) AppendEntries ¶
func (UnimplementedRaftServiceServer) AppendEntries(context.Context, *AppendEntriesRequest) (*AppendEntriesResponse, error)
func (UnimplementedRaftServiceServer) JoinCluster ¶
func (UnimplementedRaftServiceServer) JoinCluster(context.Context, *JoinClusterRequest) (*JoinClusterResponse, error)
func (UnimplementedRaftServiceServer) RequestVote ¶
func (UnimplementedRaftServiceServer) RequestVote(context.Context, *RequestVoteRequest) (*RequestVoteResponse, error)
func (UnimplementedRaftServiceServer) Submit ¶
func (UnimplementedRaftServiceServer) Submit(context.Context, *SubmitRequest) (*SubmitResponse, error)
type UnsafeRaftServiceServer ¶
type UnsafeRaftServiceServer interface {
// contains filtered or unexported methods
}
UnsafeRaftServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RaftServiceServer will result in compilation errors.