29 lines
		
	
	
		
			517 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			517 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Package source is the interface for sources
 | |
| package source
 | |
| 
 | |
| import (
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| // Source is the source from which config is loaded
 | |
| type Source interface {
 | |
| 	Read() (*ChangeSet, error)
 | |
| 	Watch() (Watcher, error)
 | |
| 	String() string
 | |
| }
 | |
| 
 | |
| // ChangeSet represents a set of changes from a source
 | |
| type ChangeSet struct {
 | |
| 	Data      []byte
 | |
| 	Checksum  string
 | |
| 	Format    string
 | |
| 	Source    string
 | |
| 	Timestamp time.Time
 | |
| }
 | |
| 
 | |
| // Watcher watches a source for changes
 | |
| type Watcher interface {
 | |
| 	Next() (*ChangeSet, error)
 | |
| 	Stop() error
 | |
| }
 |