Documentation
¶
Index ¶
- Variables
- func Init(ctx context.Context) (err error)
- func InitBus(ctx context.Context) (err error)
- func InitStorage(ctx context.Context, db ...Database) (err error)
- func PushMessage(ctx context.Context, topic string, payload any, ttl int64, wait ...bool) (err error)
- func RegisterBusHandler(_ context.Context, topic string, handler MessageHandler)
- type Config
- type Database
- type Etcd
- func (e *Etcd) Delete(ctx context.Context, key string) (err error)
- func (e *Etcd) Get(ctx context.Context, key string) (v []*KV, err error)
- func (e *Etcd) GetPrefix(ctx context.Context, key string) (v []*KV, err error)
- func (e *Etcd) Locker(ctx context.Context, topic string) (locker sync.Locker, err error)
- func (e *Etcd) Set(ctx context.Context, key string, value interface{}, ops ...SetOption) (err error)
- func (e *Etcd) Watch(ctx context.Context, key string, handler WatchHandler) (err error)
- type Event
- type EventType
- type KV
- type Message
- type MessageHandler
- type Mutex
- type SetOption
- type Storage
- type StorageConfig
- type StorageEventHandler
- type TlsConfig
- type WatchHandler
Constants ¶
This section is empty.
Variables ¶
View Source
var ( WithKeepAlive = func() SetOption { return func(cfg *setConfig) { cfg.keepalive = true } } WithTTL = func(ttlSeconds int64) SetOption { return func(cfg *setConfig) { cfg.ttl = ttlSeconds } } WithKeepAliveStoppedHandler = func(f func(err error)) SetOption { return func(cfg *setConfig) { cfg.onKeepaliveStopped = f } } )
View Source
var (
ErrStorageNotFound = errors.New("not found in storage")
)
View Source
var (
// Storages Global instance of storages
Storages *storages
)
Functions ¶
func PushMessage ¶
func RegisterBusHandler ¶
func RegisterBusHandler(_ context.Context, topic string, handler MessageHandler)
Types ¶
type Config ¶
type Config struct {
// common
Endpoints []string `json:"endpoints"`
Username string `json:"username"`
Password string `json:"password"`
// Etcd tls
Tls *TlsConfig `json:"tls"`
}
Config for registry
type Database ¶
type Database interface {
// Get values from database by key
Get(ctx context.Context, key string) (v []*KV, err error)
// GetPrefix values from database by prefixed key
GetPrefix(ctx context.Context, key string) (v []*KV, err error)
// Set value to database
Set(ctx context.Context, key string, value interface{}, opts ...SetOption) (err error)
// Delete value from database
Delete(ctx context.Context, key string) (err error)
// Watch database changes
Watch(ctx context.Context, key string, handler WatchHandler) (err error)
// Locker distribute lock
Locker(ctx context.Context, topic string) (locker sync.Locker, err error)
}
Database abstract key-value database ability
var (
Raw Database
)
func MustGetDatabase ¶
type Etcd ¶
type Etcd struct {
// contains filtered or unexported fields
}
type Message ¶
type MessageHandler ¶
type Storage ¶
type Storage interface {
// Get value
Get(ctx context.Context, key ...string) (v []*KV, err error)
// Set value
Set(ctx context.Context, key string, value interface{}) (err error)
// SetTTL set value with ttl in second
SetTTL(ctx context.Context, key string, value interface{}, ttl int64, keepalive ...bool) (err error)
// Delete value
Delete(ctx context.Context, key string) (err error)
}
Storage interface
type StorageConfig ¶
type StorageConfig struct {
Separator string `json:"separator"`
}
StorageConfig for storage module
type StorageEventHandler ¶
StorageEventHandler process storage event
type TlsConfig ¶
type TlsConfig struct {
InsecureSkipVerify bool `json:"insecure_skip_verify"`
}
TlsConfig ...
type WatchHandler ¶
WatchHandler watch registry
Click to show internal directories.
Click to hide internal directories.