mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
concurrency: clarify Observe semantics; only fetches subsequence
This commit is contained in:
parent
e6a789d541
commit
c1300c81b3
@ -148,9 +148,13 @@ func (e *Election) Leader(ctx context.Context) (*v3.GetResponse, error) {
|
|||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Observe returns a channel that observes all leader proposal values as
|
// Observe returns a channel that reliably observes ordered leader proposals
|
||||||
// GetResponse values on the current leader key. The channel closes when
|
// as GetResponse values on every current elected leader key. It will not
|
||||||
// the context is cancelled or the underlying watcher is otherwise disrupted.
|
// necessarily fetch all historical leader updates, but will always post the
|
||||||
|
// most recent leader value.
|
||||||
|
//
|
||||||
|
// The channel closes when the context is canceled or the underlying watcher
|
||||||
|
// is otherwise disrupted.
|
||||||
func (e *Election) Observe(ctx context.Context) <-chan v3.GetResponse {
|
func (e *Election) Observe(ctx context.Context) <-chan v3.GetResponse {
|
||||||
retc := make(chan v3.GetResponse)
|
retc := make(chan v3.GetResponse)
|
||||||
go e.observe(ctx, retc)
|
go e.observe(ctx, retc)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user