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

@ -11,6 +11,7 @@ import (
"sync"
"github.com/restic/restic/internal/backend"
"github.com/restic/restic/internal/backend/sema"
"github.com/restic/restic/internal/debug"
"github.com/restic/restic/internal/errors"
"github.com/restic/restic/internal/restic"
@ -32,12 +33,12 @@ const connectionCount = 2
type MemoryBackend struct {
data memMap
m sync.Mutex
sem *backend.Semaphore
sem sema.Semaphore
}
// New returns a new backend that saves all data in a map in memory.
func New() *MemoryBackend {
sem, err := backend.NewSemaphore(connectionCount)
sem, err := sema.New(connectionCount)
if err != nil {
panic(err)
}