| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // +build !go1.7
- package aws
- import "time"
- // An emptyCtx is a copy of the Go 1.7 context.emptyCtx type. This is copied to
- // provide a 1.6 and 1.5 safe version of context that is compatible with Go
- // 1.7's Context.
- //
- // An emptyCtx is never canceled, has no values, and has no deadline. It is not
- // struct{}, since vars of this type must have distinct addresses.
- type emptyCtx int
- func (*emptyCtx) Deadline() (deadline time.Time, ok bool) {
- return
- }
- func (*emptyCtx) Done() <-chan struct{} {
- return nil
- }
- func (*emptyCtx) Err() error {
- return nil
- }
- func (*emptyCtx) Value(key interface{}) interface{} {
- return nil
- }
- func (e *emptyCtx) String() string {
- switch e {
- case backgroundCtx:
- return "aws.BackgroundContext"
- }
- return "unknown empty Context"
- }
- var (
- backgroundCtx = new(emptyCtx)
- )
- // BackgroundContext returns a context that will never be canceled, has no
- // values, and no deadline. This context is used by the SDK to provide
- // backwards compatibility with non-context API operations and functionality.
- //
- // Go 1.6 and before:
- // This context function is equivalent to context.Background in the Go stdlib.
- //
- // Go 1.7 and later:
- // The context returned will be the value returned by context.Background()
- //
- // See https://golang.org/pkg/context for more information on Contexts.
- func BackgroundContext() Context {
- return backgroundCtx
- }
|