store

package
v3.4.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2018 License: LGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrTypeUnknown = errors.New("object type unknown")

ErrTypeUnknown 资源类型未知

Functions

This section is empty.

Types

type Manager

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

Manager store manager

func NewManager

func NewManager(conf option.Config, cluster *cluster.Manager) (*Manager, error)

NewManager create a manager

func (*Manager) AddSource

func (m *Manager) AddSource(o object.Object) (bool, error)

AddSource 存储资源 if result=false and err==nil 无权操作资源 if result=true and err==nil 操作资源成功 if result=false and err!=nil 操作错误,需要重试或报错。

func (*Manager) CreateMutex

func (m *Manager) CreateMutex(key string) *cluster.Mutex

CreateMutex 创建分布式锁

func (*Manager) DeleteSource

func (m *Manager) DeleteSource(o object.Object) (bool, error)

DeleteSource 删除资源 if result=false and err==nil 资源无权操作

func (*Manager) GetAllNodes

func (m *Manager) GetAllNodes() ([]*object.NodeObject, error)

GetAllNodes get all node data

func (*Manager) GetAllPools

func (m *Manager) GetAllPools() ([]*object.PoolObject, error)

GetAllPools 获取全部pools

func (*Manager) GetAllRule

func (m *Manager) GetAllRule(protocol string) ([]*object.RuleObject, error)

GetAllRule 获取全部rule,通过协议 protocol could be http or https

func (*Manager) GetAllVSs

func (m *Manager) GetAllVSs() ([]*object.VirtualServiceObject, error)

GetAllVSs get all vs data

func (*Manager) GetNodeByPool

func (m *Manager) GetNodeByPool(poolName string) ([]*object.NodeObject, error)

GetNodeByPool 通过池名获取全部node

func (*Manager) GetPools

func (m *Manager) GetPools(poolNames map[string]string) ([]*object.PoolObject, error)

GetPools 获取全部pools信息,不重复

func (*Manager) GetRule

func (m *Manager) GetRule(rule *object.RuleObject) (*object.RuleObject, error)

GetRule get rule by *object.RuleObject

func (*Manager) GetRuleByPool

func (m *Manager) GetRuleByPool(protocol string, poolName string) ([]*object.RuleObject, error)

GetRuleByPool 获取指定pool下的所有rule

func (*Manager) GetSource

func (m *Manager) GetSource(o object.Object) (object.Object, error)

GetSource 获取资源

func (*Manager) UpdateSource

func (m *Manager) UpdateSource(o object.Object) (bool, bool, error)

UpdateSource 更新资源 if result=false and err==nil 无权操作资源 if result=true and err==nil 操作资源成功 if result=false and err!=nil 操作错误,需要重试或报错。 返回值:是否已上线/是否有操作权/错误

func (*Manager) UpdateSourceOnline

func (m *Manager) UpdateSourceOnline(o object.Object, IsOnline bool) error

UpdateSourceOnline 更新资源是否上线状态

type ReadStore

type ReadStore interface {
	//根据协议查询所有rule
	GetAllRule(protocol string) ([]*object.RuleObject, error)
	GetNodeByPool(poolName string) ([]*object.NodeObject, error)
	GetPools(poolNames map[string]string) ([]*object.PoolObject, error)
	GetRule(rule *object.RuleObject) (*object.RuleObject, error)
	GetRuleByPool(protocol string, poolName string) ([]*object.RuleObject, error)
}

ReadStore 只读存储接口

type SourceInfo

type SourceInfo struct {
	Data       object.Object `json:"data"`
	Index      int64         `json:"index"`
	UpdateTime string        `json:"update_time"`
	Operation  string        `json:"operation"`
	//TODO:增加此字段处理
	//此资源是否已经在负载均衡中处理成功
	//操作后更新本字段
	IsOnline bool `json:"is_handle"`
}

SourceInfo 资源信息

Jump to

Keyboard shortcuts

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