// +build !go1.7 package aws import "time" // An emptyCtx is a copy of the 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) )