diff options
Diffstat (limited to 'backend/general/utils.go')
| -rw-r--r-- | backend/general/utils.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/backend/general/utils.go b/backend/general/utils.go index fe0854a..ac27443 100644 --- a/backend/general/utils.go +++ b/backend/general/utils.go @@ -3,6 +3,13 @@ package general import ( "fmt" "strings" + "sync" + "time" +) + +var ( + slingshotBackoff time.Time + slingshotBackoffMu sync.Mutex ) func ParseURI(uri string) (repo, collection, rkey string, err error) { @@ -14,3 +21,15 @@ func ParseURI(uri string) (repo, collection, rkey string, err error) { return parts[0], parts[1], parts[2], nil } + +func SlingshotAvailable() bool { + slingshotBackoffMu.Lock() + defer slingshotBackoffMu.Unlock() + return time.Now().After(slingshotBackoff) +} + +func SetSlingshotBackoff(d time.Duration) { + slingshotBackoffMu.Lock() + defer slingshotBackoffMu.Unlock() + slingshotBackoff = time.Now().Add(d) +} |
