diff options
Diffstat (limited to 'modules/graceful/context.go')
-rw-r--r-- | modules/graceful/context.go | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/modules/graceful/context.go b/modules/graceful/context.go index 6b5b207ff3..4fcbcb04b6 100644 --- a/modules/graceful/context.go +++ b/modules/graceful/context.go @@ -5,51 +5,8 @@ package graceful import ( "context" - "time" ) -// ChannelContext is a context that wraps a channel and error as a context -type ChannelContext struct { - done <-chan struct{} - err error -} - -// NewChannelContext creates a ChannelContext from a channel and error -func NewChannelContext(done <-chan struct{}, err error) *ChannelContext { - return &ChannelContext{ - done: done, - err: err, - } -} - -// Deadline returns the time when work done on behalf of this context -// should be canceled. There is no Deadline for a ChannelContext -func (ctx *ChannelContext) Deadline() (deadline time.Time, ok bool) { - return deadline, ok -} - -// Done returns the channel provided at the creation of this context. -// When closed, work done on behalf of this context should be canceled. -func (ctx *ChannelContext) Done() <-chan struct{} { - return ctx.done -} - -// Err returns nil, if Done is not closed. If Done is closed, -// Err returns the error provided at the creation of this context -func (ctx *ChannelContext) Err() error { - select { - case <-ctx.done: - return ctx.err - default: - return nil - } -} - -// Value returns nil for all calls as no values are or can be associated with this context -func (ctx *ChannelContext) Value(key interface{}) interface{} { - return nil -} - // ShutdownContext returns a context.Context that is Done at shutdown // Callers using this context should ensure that they are registered as a running server // in order that they are waited for. |