Documentation ¶
Index ¶
Constants ¶
View Source
const ( RESET_SUCC = "Reset SUCCESS" RESET_FAIL = "Reset FAILED" )
Variables ¶
This section is empty.
Functions ¶
func NewgRPCServer ¶
func NewgRPCServer(c *LogImplConfig, opts ...grpc.ServerOption) (*grpc.Server, error)
根据实际使用的日志存储结构、访问控制机制和服务器选项创建 gRPC 服务器
Types ¶
type Authorizer ¶
访问控制接口 无论是否使用 casbin 库来做访问控制 都需要实现 Authorize 方法
type CommitLog ¶
type CommitLog interface { // 将一条日志追加到日志存储结构中 // 成功时返回这条日志的下标 Append(*api.Record) (uint64, error) // 给定一个下标读取对应的日志 // 成功时返回读取到的日志记录 Read(uint64) (*api.Record, error) // 删除当前日志存储结构中的所有日志 Reset() error }
这里的 CommitLog 是一个通用的日志存储结构需要实现的接口 这意味着我们在服务端真正使用的日志存储结构可以 不使用 internal/log 目录下的实现的 Log 结构体 而是只要实现这三种方法即可
type LogImplConfig ¶
type LogImplConfig struct { CommitLog CommitLog Authorizer Authorizer }
配置实际使用了哪一种日志存储结构实现及哪一种访问控制实现
Click to show internal directories.
Click to hide internal directories.