plugins

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: May 7, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExclusiveServiceType represents an exclusive service type.
	ExclusiveServiceType = 0x80
)

Variables

View Source
var ErrDisabled = errors.New("disabled")
View Source
var ErrInvalid = errors.New("invalid")
View Source
var ErrNotFound = errors.New("not found")

Functions

func NewErrDefaultServiceNotFound added in v0.9.0

func NewErrDefaultServiceNotFound(t ServiceType) error

func NewErrDisabled added in v0.9.0

func NewErrDisabled(target string) error

func NewErrDisabledService added in v0.9.0

func NewErrDisabledService(s Service) error

func NewErrInvalid added in v0.9.0

func NewErrInvalid(target string) error

func NewErrInvalidService added in v0.9.0

func NewErrInvalidService(s Service) error

func NewErrNotFound added in v0.9.0

func NewErrNotFound(target string) error

func NewErrServiceNotFound added in v0.9.0

func NewErrServiceNotFound(t ServiceType) error

Types

type Config added in v0.9.0

type Config = config.Config

Config represents a configuration interface.

type Manager

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

Manager represents a plug-in manager.

func NewManager

func NewManager() *Manager

NewManager returns a plug-in manager instance.

func (*Manager) DefaultService added in v0.9.0

func (mgr *Manager) DefaultService(t ServiceType) (Service, error)

DefaultService returns the default plug-in service with the specified type.

func (*Manager) EnabledServicesByType added in v0.9.0

func (mgr *Manager) EnabledServicesByType(t ServiceType) []Service

EnabledServicesByType returns all enabled plug-in services with the specified type.

func (*Manager) IsEnabled added in v0.9.0

func (mgr *Manager) IsEnabled(s Service) bool

func (*Manager) RegisterService

func (mgr *Manager) RegisterService(srv Service)

RegisterService adds a plug-in service.

func (*Manager) ReloadServices

func (mgr *Manager) ReloadServices(srvs []Service)

ReloadServices reloads all plug-in services.

func (*Manager) Services added in v0.9.0

func (mgr *Manager) Services() []Service

Services returns all registered plug-in services.

func (*Manager) ServicesByType added in v0.9.0

func (mgr *Manager) ServicesByType(t ServiceType) []Service

ServicesByType returns all registered plug-in services with the specified type.

func (*Manager) SetConfig added in v0.9.0

func (mgr *Manager) SetConfig(config Config)

SetConfig sets the manager configuration.

func (*Manager) Start

func (mgr *Manager) Start() error

Start starts all plug-in services.

func (Manager) Stop

func (mgr Manager) Stop() error

Stop stops all plug-in services.

func (*Manager) String

func (mgr *Manager) String() string

String returns a string representation of the plug-in manager.

type ManagerConfig added in v0.9.0

type ManagerConfig struct {
	Config
}

func NewManagerConfigWith added in v0.9.0

func NewManagerConfigWith(config Config) *ManagerConfig

func (*ManagerConfig) EnabledConfig added in v0.9.0

func (conf *ManagerConfig) EnabledConfig(t ServiceType) (string, error)

type Service

type Service interface {
	// ServiceType returns the service type.
	ServiceType() ServiceType
	// ServiceName returns the service name.
	ServiceName() string
	// Start starts the service
	Start() error
	// Stop stops the service
	Stop() error
}

Service represents a plugin service.

type ServiceType

type ServiceType uint8

ServiceType represents a service type.

const (
	// CoderDocumentService represents a serializer service for document.
	CoderDocumentService ServiceType = 0x01 | ExclusiveServiceType
	// CoderKeyService represents a serializer service for key.
	CoderKeyService ServiceType = 0x02 | ExclusiveServiceType
	// QueryService represents a query service.
	QueryService ServiceType = 0x03
	// StoreDocumentService represents a document store service.
	StoreDocumentService ServiceType = 0x04 | ExclusiveServiceType
	// StoreKvService represents a key-value store service.
	StoreKvService ServiceType = 0x05 | ExclusiveServiceType
	// CoordinatorService represents a coordinator service.
	CoordinatorService ServiceType = 0x06 | ExclusiveServiceType
	// ExtendService represents an uncategorized service.
	ExtendService ServiceType = 0x0F
)

func ServiceTypes

func ServiceTypes() []ServiceType

ServiceTypes returns all service types.

func (ServiceType) IsExclusive added in v0.9.0

func (t ServiceType) IsExclusive() bool

IsExclusive returns true if the service type is exclusive.

func (ServiceType) String

func (t ServiceType) String() string

String returns a string representation of the service type.

Jump to

Keyboard shortcuts

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