Documentation
¶
Index ¶
- Constants
- func NewBalancer(r Registry)
- type Backend
- type Balancer
- type Context
- type Dao
- type Edge
- type Generic
- type Item
- type MetaSetter
- type MetaWrapper
- type Node
- type Option
- type Options
- type RawRegistry
- type RegisterOption
- type RegisterOptions
- type Registry
- type Result
- type Server
- type Service
- type Status
- type StatusReporter
- type StatusWatcher
- type TransientWrapper
- type URLMux
- type URLOpener
- type Watcher
Constants ¶
const ( MetaStatusKey = "status" StatusStopped Status = "stopped" StatusStarting Status = "starting" StatusReady Status = "ready" StatusError Status = "error" StatusStopping Status = "stopping" StatusTransient Status = "transient" StatusWaiting Status = "waiting" MetaDescriptionKey = "description" MetaUniqueKey = "unique" MetaTimestampKey = "timestamp" )
const (
ServiceMetaOverride = "service-override"
)
Variables ¶
This section is empty.
Functions ¶
func NewBalancer ¶
func NewBalancer(r Registry)
Types ¶
type Backend ¶
type Backend struct {
Alive bool
ReverseProxy *httputil.ReverseProxy
// contains filtered or unexported fields
}
type MetaSetter ¶ added in v4.0.6
type MetaWrapper ¶ added in v4.0.6
type MetaWrapper struct {
Registry
// contains filtered or unexported fields
}
func (*MetaWrapper) Register ¶ added in v4.0.6
func (m *MetaWrapper) Register(item Item, opts ...RegisterOption) error
type Option ¶
type Option func(*Options)
func WithAction ¶ added in v4.0.1
func WithAction(a pb.ActionType) Option
func WithContext ¶ added in v4.0.1
func WithFailFast ¶ added in v4.0.1
func WithFailFast() Option
func WithFilter ¶
type Options ¶
type Options struct {
Context context.Context
FailFast bool
Actions []pb.ActionType
IDs []string
Names []string
Types []pb.ItemType
Filters []func(item Item) bool
}
func (*Options) ActionsMatch ¶ added in v4.0.1
func (o *Options) ActionsMatch(eventAction pb.ActionType) bool
ActionsMatch checks if an Action filter matches input
type RawRegistry ¶ added in v4.0.1
type RawRegistry interface {
Start(Item) error
Stop(Item) error
Register(Item, ...RegisterOption) error
Deregister(Item, ...RegisterOption) error
Get(string, ...Option) (Item, error)
List(...Option) ([]Item, error)
Watch(...Option) (Watcher, error)
NewLocker(name string) sync.Locker
Close() error
Done() <-chan struct{}
As(interface{}) bool
}
type RegisterOption ¶ added in v4.0.1
type RegisterOption func(options *RegisterOptions)
func WithDeregisterFull ¶ added in v4.0.1
func WithDeregisterFull() RegisterOption
func WithEdgeTo ¶ added in v4.0.1
func WithEdgeTo(id, label string, meta map[string]string) RegisterOption
func WithRegisterFailFast ¶ added in v4.0.1
func WithRegisterFailFast() RegisterOption
func WithWatch ¶ added in v4.0.1
func WithWatch(wi StatusReporter) RegisterOption
type RegisterOptions ¶ added in v4.0.1
type Registry ¶
type Registry interface {
RawRegistry
RegisterEdge(item1, item2, edgeLabel string, metadata map[string]string, oo ...RegisterOption) (Edge, error)
ListAdjacentItems(sourceItem Item, targetOptions ...Option) (items []Item)
}
func GraphRegistry ¶ added in v4.0.1
func GraphRegistry(r RawRegistry) Registry
func NewMetaWrapper ¶ added in v4.0.6
func NewTransientWrapper ¶ added in v4.0.6
func OpenRegistry ¶
OpenRegistry opens the Registry identified by the URL given. See the URLOpener documentation in driver subpackages for details on supported URL formats, and https://gocloud.dev/concepts/urls for more information.
type Result ¶
type Result interface {
Action() pb.ActionType
Items() []Item
}
type Server ¶ added in v4.0.1
type Server interface {
Item
Server()
}
Server represents a running server
type Service ¶
type Service interface {
Item
Version() string
Tags() []string
Start(oo ...RegisterOption) error
Stop(oo ...RegisterOption) error
ServerScheme() string
}
Service represents an instantiated service in the registry
type StatusReporter ¶ added in v4.0.1
type StatusReporter interface {
WatchStatus() (StatusWatcher, error)
}
type StatusWatcher ¶ added in v4.0.1
type TransientWrapper ¶ added in v4.0.6
type TransientWrapper struct {
Registry
// contains filtered or unexported fields
}
func (*TransientWrapper) Register ¶ added in v4.0.6
func (m *TransientWrapper) Register(item Item, opts ...RegisterOption) error
type URLMux ¶
type URLMux struct {
// contains filtered or unexported fields
}
URLMux is a URL opener multiplexer. It matches the scheme of the URLs against a set of registered schemes and calls the opener that matches the URL's scheme. See https://gocloud.dev/concepts/urls/ for more information.
The zero value is a multiplexer with no registered schemes.
func DefaultURLMux ¶
func DefaultURLMux() *URLMux
DefaultURLMux returns the URLMux used by OpenTopic and OpenSubscription.
Driver packages can use this to register their TopicURLOpener and/or SubscriptionURLOpener on the mux.
func (*URLMux) OpenRegistry ¶
OpenTopic calls OpenTopicURL with the URL parsed from urlstr. OpenTopic is safe to call from multiple goroutines.
func (*URLMux) Register ¶
Register registers the opener with the given scheme. If an opener already exists for the scheme, Register panics.
func (*URLMux) ValidScheme ¶
ValidScheme returns true if scheme has been registered.