storj/private/sync2/sleep.go
2019-11-14 21:46:15 +02:00

23 lines
371 B
Go

// Copyright (C) 2019 Storj Labs, Inc.
// See LICENSE for copying information
package sync2
import (
"context"
"time"
)
// Sleep implements sleeping with cancellation
func Sleep(ctx context.Context, duration time.Duration) bool {
timer := time.NewTimer(duration)
defer timer.Stop()
select {
case <-ctx.Done():
return false
case <-timer.C:
return true
}
}