peerqueue

package
v0.0.0-...-9d38f52 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrEmpty             = errors.New("empty")
	ErrActorTypeMismatch = errors.New("actor type mismatch")
)

Functions

This section is empty.

Types

type PeerQueue

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

func New

func New() *PeerQueue

New peer queue.

func (*PeerQueue) ActorType

func (pq *PeerQueue) ActorType() string

ActorType of this peer queue.

func (*PeerQueue) Dead

func (pq *PeerQueue) Dead(peer string)

Dead peer.

func (*PeerQueue) IsOptimisticallyRegistered

func (pq *PeerQueue) IsOptimisticallyRegistered(actor string) bool

IsOptimisticallyRegistered returns true if the actor has been optimistically registered.

func (*PeerQueue) IsRegistered

func (pq *PeerQueue) IsRegistered(actor string) bool

IsRegistered returns true if the actor has been registered.

func (*PeerQueue) IsRequired

func (pq *PeerQueue) IsRequired(actor string) bool

IsRequired actor.

func (*PeerQueue) Live

func (pq *PeerQueue) Live(peer string)

Live peer.

func (*PeerQueue) MaxAssigned

func (pq *PeerQueue) MaxAssigned() (string, error)

MaxAssigned returns the "next" living peer that has the most actors registered.

func (*PeerQueue) MinAssigned

func (pq *PeerQueue) MinAssigned() (string, error)

MinAssigned returns the "next" living peer that has the least actors registered.

func (*PeerQueue) Missing

func (pq *PeerQueue) Missing() []*grid.ActorStart

Missing actors that are required but not registered.

func (*PeerQueue) NumOptimisticallyRegistered

func (pq *PeerQueue) NumOptimisticallyRegistered() int

NumOptimisticallyRegistered returns the current number of actors optimistically registered.

func (*PeerQueue) NumOptimisticallyRegisteredOn

func (pq *PeerQueue) NumOptimisticallyRegisteredOn(peer string) int

NumOptimisticallyRegisteredOn the peer.

func (*PeerQueue) NumRegistered

func (pq *PeerQueue) NumRegistered() int

NumRegistered returns the current number of actors registered.

func (*PeerQueue) NumRegisteredOn

func (pq *PeerQueue) NumRegisteredOn(peer string) int

NumRegisteredOn the peer.

func (*PeerQueue) OptimisticallyDead

func (pq *PeerQueue) OptimisticallyDead(peer string)

OptimisticallyDead until a real event marks the peer alive again.

func (*PeerQueue) OptimisticallyLive

func (pq *PeerQueue) OptimisticallyLive(peer string)

OptimisticallyLive until an event marks the peer dead.

func (*PeerQueue) OptimisticallyRegister

func (pq *PeerQueue) OptimisticallyRegister(actor, peer string)

OptimisticallyRegister an actor, ie: no confirmation has arrived that the actor is actually running the the peer, but it has been requested to run on the peer.

func (*PeerQueue) OptimisticallyUnregister

func (pq *PeerQueue) OptimisticallyUnregister(actor string)

OptimisticallyUnregister the actor, ie: no confirmation has arrived that the actor is NOT running on the peer, but perhaps because of a failed request to the peer to start the actor it is known that likely the actor is not running.

func (*PeerQueue) Peers

func (pq *PeerQueue) Peers() map[string]struct{}

Peers currently live.

func (*PeerQueue) Register

func (pq *PeerQueue) Register(actor, peer string)

Register the actor to the peer.

func (*PeerQueue) Relocate

func (pq *PeerQueue) Relocate() *RelocationPlan

Relocate actors from peers that have an unfair number of actors, where unfair is defined as the integer ceiling of the average.

func (*PeerQueue) Required

func (pq *PeerQueue) Required() []string

Required set.

func (*PeerQueue) SetRequired

func (pq *PeerQueue) SetRequired(def *grid.ActorStart) error

SetRequired flag on actor. If it's type does not match the type of previously set actors an error is returned.

func (*PeerQueue) Unregister

func (pq *PeerQueue) Unregister(actor string)

Unregister the actor from its current peer.

func (*PeerQueue) UnsetRequired

func (pq *PeerQueue) UnsetRequired(actor string)

UnsetRequired flag on actor.

type RelocationPlan

type RelocationPlan struct {
	ActorType   string
	Total       int
	Average     int
	Peers       []string
	Count       map[string]int
	Burden      map[string]int
	Relocations []*grid.ActorStart
}

func NewRelocationPlan

func NewRelocationPlan(actorType string, total, average int) *RelocationPlan

func (*RelocationPlan) String

func (p *RelocationPlan) String() string

Jump to

Keyboard shortcuts

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