48 строки
1.7 KiB
Go
48 строки
1.7 KiB
Go
//go:build OMIT
|
|
// +build OMIT
|
|
|
|
package context
|
|
|
|
import "time"
|
|
|
|
// A Context carries a deadline, cancellation signal, and request-scoped values
|
|
// across API boundaries. Its methods are safe for simultaneous use by multiple
|
|
// goroutines.
|
|
type Context interface {
|
|
// Done returns a channel that is closed when this Context is canceled
|
|
// or times out.
|
|
Done() <-chan struct{}
|
|
|
|
// Err indicates why this context was canceled, after the Done channel
|
|
// is closed.
|
|
Err() error
|
|
|
|
// Deadline returns the time when this Context will be canceled, if any.
|
|
Deadline() (deadline time.Time, ok bool)
|
|
|
|
// Value returns the value associated with key or nil if none.
|
|
Value(key interface{}) interface{}
|
|
}
|
|
|
|
// WithCancel returns a copy of parent whose Done channel is closed as soon as
|
|
// parent.Done is closed or cancel is called.
|
|
func WithCancel(parent Context) (ctx Context, cancel CancelFunc)
|
|
|
|
// A CancelFunc cancels a Context.
|
|
type CancelFunc func()
|
|
|
|
// WithTimeout returns a copy of parent whose Done channel is closed as soon as
|
|
// parent.Done is closed, cancel is called, or timeout elapses. The new
|
|
// Context's Deadline is the sooner of now+timeout and the parent's deadline, if
|
|
// any. If the timer is still running, the cancel function releases its
|
|
// resources.
|
|
func WithTimeout(parent Context, timeout time.Duration) (Context, CancelFunc)
|
|
|
|
// WithValue returns a copy of parent whose Value method returns val for key.
|
|
func WithValue(parent Context, key interface{}, val interface{}) Context
|
|
|
|
// Background returns an empty Context. It is never canceled, has no deadline,
|
|
// and has no values. Background is typically used in main, init, and tests,
|
|
// and as the top-level Context for incoming requests.
|
|
func Background() Context
|