backend: Move semaphores to a dedicated package

... called backend/sema. I resisted the temptation to call the main
type sema.Phore. Also, semaphores are now passed by value to skip a
level of indirection when using them.
This commit is contained in:
greatroar
2022-06-12 17:45:34 +02:00
parent 1dd4b9b60e
commit 910d917b71
11 changed files with 101 additions and 98 deletions

View File

@@ -14,6 +14,7 @@ import (
"cloud.google.com/go/storage"
"github.com/pkg/errors"
"github.com/restic/restic/internal/backend"
"github.com/restic/restic/internal/backend/sema"
"github.com/restic/restic/internal/debug"
"github.com/restic/restic/internal/restic"
@@ -35,7 +36,7 @@ type Backend struct {
gcsClient *storage.Client
projectID string
connections uint
sem *backend.Semaphore
sem sema.Semaphore
bucketName string
bucket *storage.BucketHandle
prefix string
@@ -97,7 +98,7 @@ func open(cfg Config, rt http.RoundTripper) (*Backend, error) {
return nil, errors.Wrap(err, "getStorageClient")
}
sem, err := backend.NewSemaphore(cfg.Connections)
sem, err := sema.New(cfg.Connections)
if err != nil {
return nil, err
}