diff options
author | Alex Auvolat <alex@adnab.me> | 2022-11-29 09:46:43 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-11-29 09:46:43 +0100 |
commit | 153b8f1b9d52e7e5a6d35dfbd4ff4ff359a0dee7 (patch) | |
tree | 8d2fa2580f7f2e3bd64a8d7c0b80fd2c8c5c7c92 /nix2/state.go | |
parent | 14bd8f2010c3a1f90c6d1297f47ebbf46ee87dde (diff) | |
download | nomad-driver-nix2-153b8f1b9d52e7e5a6d35dfbd4ff4ff359a0dee7.tar.gz nomad-driver-nix2-153b8f1b9d52e7e5a6d35dfbd4ff4ff359a0dee7.zip |
Rename driver to nix2
Diffstat (limited to 'nix2/state.go')
-rw-r--r-- | nix2/state.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/nix2/state.go b/nix2/state.go new file mode 100644 index 0000000..a846ea4 --- /dev/null +++ b/nix2/state.go @@ -0,0 +1,33 @@ +package nix2 + +import ( + "sync" +) + +type taskStore struct { + store map[string]*taskHandle + lock sync.RWMutex +} + +func newTaskStore() *taskStore { + return &taskStore{store: map[string]*taskHandle{}} +} + +func (ts *taskStore) Set(id string, handle *taskHandle) { + ts.lock.Lock() + defer ts.lock.Unlock() + ts.store[id] = handle +} + +func (ts *taskStore) Get(id string) (*taskHandle, bool) { + ts.lock.RLock() + defer ts.lock.RUnlock() + t, ok := ts.store[id] + return t, ok +} + +func (ts *taskStore) Delete(id string) { + ts.lock.Lock() + defer ts.lock.Unlock() + delete(ts.store, id) +} |