storage: move watcher interface into watcher.go

release-2.3
Xiang Li 2015-10-28 21:10:58 -07:00
parent de99c9ed58
commit f71bcfa8ce
2 changed files with 16 additions and 16 deletions

View File

@ -76,22 +76,6 @@ type KV interface {
Close() error
}
// Watcher watches on the KV. It will be notified if there is an event
// happened on the watched key or prefix.
type Watcher interface {
// Event returns a channel that receives observed event that matches the
// context of watcher. When watch finishes or is canceled or aborted, the
// channel is closed and returns empty event.
// Successive calls to Event return the same value.
Event() <-chan storagepb.Event
// Err returns a non-nil error value after Event is closed. Err returns
// Compacted if the history was compacted, Canceled if watch is canceled,
// or EOF if watch reaches the end revision. No other values for Err are defined.
// After Event is closed, successive calls to Err return the same value.
Err() error
}
// WatchableKV is a KV that can be watched.
type WatchableKV interface {
KV

View File

@ -20,6 +20,22 @@ import (
"github.com/coreos/etcd/storage/storagepb"
)
// Watcher watches on the KV. It will be notified if there is an event
// happened on the watched key or prefix.
type Watcher interface {
// Event returns a channel that receives observed event that matches the
// context of watcher. When watch finishes or is canceled or aborted, the
// channel is closed and returns empty event.
// Successive calls to Event return the same value.
Event() <-chan storagepb.Event
// Err returns a non-nil error value after Event is closed. Err returns
// Compacted if the history was compacted, Canceled if watch is canceled,
// or EOF if watch reaches the end revision. No other values for Err are defined.
// After Event is closed, successive calls to Err return the same value.
Err() error
}
type watcher struct {
key []byte
prefix bool