| 123456789101112131415161718192021222324 |
- package aws
- import (
- "time"
- )
- // SleepWithContext will wait for the timer duration to expire, or the context
- // is canceled. Which ever happens first. If the context is canceled the Context's
- // error will be returned.
- //
- // Expects Context to always return a non-nil error if the Done channel is closed.
- func SleepWithContext(ctx Context, dur time.Duration) error {
- t := time.NewTimer(dur)
- defer t.Stop()
- select {
- case <-t.C:
- break
- case <-ctx.Done():
- return ctx.Err()
- }
- return nil
- }
|