instancer

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2020 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cache

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

Cache keeps track of resource instances provided to it via Update method and implements the Instancer interface

func NewCache

func NewCache() *Cache

NewCache creates a new Cache.

func (*Cache) Deregister

func (c *Cache) Deregister(ch chan<- sd.Event)

Deregister implements Instancer.

func (*Cache) Register

func (c *Cache) Register(ch chan<- sd.Event)

Register implements Instancer.

func (*Cache) State

func (c *Cache) State() sd.Event

State returns the current state of discovery (instances or error) as sd.Event

func (*Cache) Stop

func (c *Cache) Stop()

Stop implements Instancer. Since the cache is just a plain-old store of data, Stop is a no-op.

func (*Cache) Update

func (c *Cache) Update(event sd.Event)

Update receives new instances from service discovery, stores them internally, and notifies all registered listeners.

type Instancer

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

Instancer yields instances for a service in Consul.

func NewInstancer

func NewInstancer(client csd.Client, logger log.Logger, service string, tags []string, passingOnly bool, listener Listener) *Instancer

NewInstancer returns a Consul instancer that publishes instances for the requested service. It only returns instances for which all of the passed tags are present.

func (*Instancer) Deregister

func (s *Instancer) Deregister(ch chan<- sd.Event)

Deregister implements Instancer.

func (*Instancer) GetTagMap

func (s *Instancer) GetTagMap() map[string][]string

GetTagMap returns tags as map

func (*Instancer) Register

func (s *Instancer) Register(ch chan<- sd.Event)

Register implements Instancer.

func (*Instancer) SetListener

func (s *Instancer) SetListener(l Listener)

SetListener set the update listener

func (*Instancer) Stop

func (s *Instancer) Stop()

Stop terminates the instancer.

type Listener

type Listener func(instances []string, tags map[string][]string, err error)

Listener handles update events

Jump to

Keyboard shortcuts

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