registry

package
v0.2.7-0...-d8d973c Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2017 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BTreeNew func() BTree2D

Functions

This section is empty.

Types

type BTree2D

type BTree2D interface {
	Sync(next BTree2D, onAdd, onDel func(key1 generic.T, key2 generic.U))
	GetLayer(key1 generic.T) (SecondaryLayer, bool)
	SetLayer(key1 generic.T, layer SecondaryLayer)
	ForEach(fn func(key generic.T, layer SecondaryLayer) bool)
	ForEach2(key1 generic.T, fn func(key2 generic.U) bool)
	Put(key1 generic.T, key2 generic.U, finalizers ...func())
	Delete(key1 generic.T, key2 generic.U) bool
	Drop(key1 generic.T) bool
}

type HashRingSelector

type HashRingSelector struct {
	VBucket int
}

func (HashRingSelector) Select

func (hrs HashRingSelector) Select(pool []generic.U) (idx int, cache bool)

type Iterator

type Iterator struct {
	*Registry
	// contains filtered or unexported fields
}

func (Iterator) Next

func (self Iterator) Next() Iterator

type Pair

type Pair struct {
	K generic.T
	V generic.U
}

type RandomSelector

type RandomSelector struct {
}

func (RandomSelector) Select

func (RandomSelector) Select(pool []generic.U) (idx int, cache bool)

type Reducer

type Reducer interface {
	Reduce(pool []generic.U) []generic.U
}

type Registry

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

func (*Registry) Close

func (self *Registry) Close()

func (*Registry) Discover

func (self *Registry) Discover(
	r Selector,
	sname generic.T,
	reducer Reducer,
) (generic.U, bool)

func (*Registry) DiscoverTimeout

func (self *Registry) DiscoverTimeout(
	r Selector, sname generic.T,
	wait time.Duration,
	reducer Reducer,
) (srv generic.U, found bool)

func (*Registry) Iter

func (self *Registry) Iter() Iterator

func (*Registry) Pop

func (self *Registry) Pop(id generic.T, srv generic.U)

func (*Registry) Push

func (self *Registry) Push(id generic.T, srv generic.U, action ...func())

func (*Registry) Sync

func (self *Registry) Sync(other *Registry, onAdd, onDelete func(generic.T, generic.U))

type SecondaryLayer

type SecondaryLayer interface{}

type Selector

type Selector interface {
	Select(pool []generic.U) (idx int, cache bool) // pool can't empty
}

Jump to

Keyboard shortcuts

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