Documentation
¶
Index ¶
- Constants
- Variables
- func NewErrDefaultServiceNotFound(t ServiceType) error
- func NewErrDisabled(target string) error
- func NewErrDisabledService(s Service) error
- func NewErrInvalid(target string) error
- func NewErrInvalidService(s Service) error
- func NewErrNotFound(target string) error
- func NewErrServiceNotFound(t ServiceType) error
- type Config
- type Manager
- func (mgr *Manager) DefaultService(t ServiceType) (Service, error)
- func (mgr *Manager) EnabledServicesByType(t ServiceType) []Service
- func (mgr *Manager) IsEnabled(s Service) bool
- func (mgr *Manager) RegisterService(srv Service)
- func (mgr *Manager) ReloadServices(srvs []Service)
- func (mgr *Manager) Services() []Service
- func (mgr *Manager) ServicesByType(t ServiceType) []Service
- func (mgr *Manager) SetConfig(config Config)
- func (mgr *Manager) Start() error
- func (mgr Manager) Stop() error
- func (mgr *Manager) String() string
- type ManagerConfig
- type Service
- type ServiceType
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 NewErrDisabledService ¶ added in v0.9.0
func NewErrInvalid ¶ added in v0.9.0
func NewErrInvalidService ¶ added in v0.9.0
func NewErrNotFound ¶ added in v0.9.0
func NewErrServiceNotFound ¶ added in v0.9.0
func NewErrServiceNotFound(t ServiceType) error
Types ¶
type Manager ¶
type Manager struct {
*ManagerConfig
// contains filtered or unexported fields
}
Manager represents a plug-in manager.
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) RegisterService ¶
RegisterService adds a plug-in service.
func (*Manager) ReloadServices ¶
ReloadServices reloads all 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.
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 (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.
Click to show internal directories.
Click to hide internal directories.