Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContextWatcher ¶
type ContextWatcher struct {
// contains filtered or unexported fields
}
ContextWatcher watches a context and performs an action when the context is canceled. It can watch one context at a time.
func NewContextWatcher ¶
func NewContextWatcher(handler Handler) *ContextWatcher
NewContextWatcher returns a ContextWatcher. onCancel will be called when a watched context is canceled. OnUnwatchAfterCancel will be called when Unwatch is called and the watched context had already been canceled and onCancel called.
func (*ContextWatcher) Unwatch ¶
func (cw *ContextWatcher) Unwatch()
Unwatch stops watching the previously watched context. If the onCancel function passed to NewContextWatcher was called then onUnwatchAfterCancel will also be called.
func (*ContextWatcher) Watch ¶
func (cw *ContextWatcher) Watch(ctx context.Context)
Watch starts watching ctx. If ctx is canceled then the onCancel function passed to NewContextWatcher will be called.
type Handler ¶
type Handler interface { // HandleCancel is called when the context that a ContextWatcher is currently watching is canceled. canceledCtx is the // context that was canceled. HandleCancel(canceledCtx context.Context) // HandleUnwatchAfterCancel is called when a ContextWatcher that called HandleCancel on this Handler is unwatched. HandleUnwatchAfterCancel() }