cluster

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2018 License: Apache-2.0 Imports: 18 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegistBuilder

func RegistBuilder(name string, f builder)

Types

type Interface

type Interface interface {
	// Open 启用集群
	Open() error

	// Raft's FSM
	raftlib.FSM

	// IsLeader check if current node is raft leader
	IsLeader() bool

	// LeaderHTTPAddr return current leader's http listen
	LeaderHTTPAddr() string

	// RegistQuota 注册资源配额
	RegistQuota(r *APIRegistQuotaReq) *APIRegistQuotaResp

	// DeleteQuota 删除资源配额
	DeleteQuota(r *APIDeleteQuotaReq) *APIDeleteQuotaResp

	// Borrow 申请一次执行资格,如果成功返回nil
	// expire 表示申请的资源的自动回收时间
	Borrow(r *APIBorrowReq) *APIBorrowResp

	// Return 归还执行资格,如果成功返回nil
	Return(r *APIReturnReq) *APIReturnResp

	// ReturnAll 归还某个用户所有的执行资格,通常在用户主动关闭的时候
	// 返回回收的资源数量
	ReturnAll(r *APIReturnAllReq) *APIReturnAllResp

	// ResourceList 资源列表
	ResourceList(r *APIResourceListReq) *APIResourceListResp
}

Interface 集群的抽象接口

func Default

func Default() Interface

Default 新建一个默认cluster实例

func New

func New(name string) Interface

New 新建一个cluster接口实例

type Snapshot

type Snapshot struct {
	// contains filtered or unexported fields
}

func NewSnapshot

func NewSnapshot(dataToPersist io.Reader) *Snapshot

func (*Snapshot) Persist

func (s *Snapshot) Persist(sink raftlib.SnapshotSink) error

func (*Snapshot) Release

func (s *Snapshot) Release()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL