1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-01-29 18:04:17 +02:00
go-micro/config/source/source.go

36 lines
687 B
Go
Raw Normal View History

2019-05-30 23:11:13 +01:00
// Package source is the interface for sources
package source
import (
"errors"
2019-05-30 23:11:13 +01:00
"time"
)
var (
2022-09-30 16:27:07 +02:00
// ErrWatcherStopped is returned when source watcher has been stopped.
ErrWatcherStopped = errors.New("watcher stopped")
)
2022-09-30 16:27:07 +02:00
// Source is the source from which config is loaded.
2019-05-30 23:11:13 +01:00
type Source interface {
Read() (*ChangeSet, error)
2019-12-23 08:42:57 +00:00
Write(*ChangeSet) error
2019-12-23 08:49:53 +00:00
Watch() (Watcher, error)
2019-05-30 23:11:13 +01:00
String() string
}
2022-09-30 16:27:07 +02:00
// ChangeSet represents a set of changes from a source.
2019-05-30 23:11:13 +01:00
type ChangeSet struct {
2023-04-26 00:16:34 +00:00
Timestamp time.Time
2019-05-30 23:11:13 +01:00
Checksum string
Format string
Source string
2023-04-26 00:16:34 +00:00
Data []byte
2019-05-30 23:11:13 +01:00
}
2022-09-30 16:27:07 +02:00
// Watcher watches a source for changes.
2019-05-30 23:11:13 +01:00
type Watcher interface {
Next() (*ChangeSet, error)
Stop() error
}