mirror of
https://github.com/coredns/coredns.git
synced 2025-11-01 02:33:14 -04:00
24 lines
721 B
Go
24 lines
721 B
Go
|
|
package watch
|
||
|
|
|
||
|
|
// Chan is used to inform the server of a change. Whenever
|
||
|
|
// a watched FQDN has a change in data, that FQDN should be
|
||
|
|
// sent down this channel.
|
||
|
|
type Chan chan string
|
||
|
|
|
||
|
|
// Watchable is the interface watchable plugins should implement
|
||
|
|
type Watchable interface {
|
||
|
|
// Name returns the plugin name.
|
||
|
|
Name() string
|
||
|
|
|
||
|
|
// SetWatchChan is called when the watch channel is created.
|
||
|
|
SetWatchChan(Chan)
|
||
|
|
|
||
|
|
// Watch is called whenever a watch is created for a FQDN. Plugins
|
||
|
|
// should send the FQDN down the watch channel when its data may have
|
||
|
|
// changed. This is an exact match only.
|
||
|
|
Watch(qname string) error
|
||
|
|
|
||
|
|
// StopWatching is called whenever all watches are canceled for a FQDN.
|
||
|
|
StopWatching(qname string)
|
||
|
|
}
|