tricrypt/cmd/cfyne/linksmuar.go

32 lines
495 B
Go
Raw Permalink Normal View History

2024-07-12 19:33:27 +02:00
package main
import (
com "git.qowevisa.me/Qowevisa/gotell/communication"
"sync"
)
// Non-Generic variant
type MutexLinksArray struct {
Ar []com.Link
Mu sync.RWMutex
}
func CreateMutexLinksArray() *MutexLinksArray {
var tmp []com.Link
return &MutexLinksArray{
Ar: tmp,
}
}
func (ma *MutexLinksArray) Add(v com.Link) {
ma.Mu.Lock()
ma.Ar = append(ma.Ar, v)
ma.Mu.Unlock()
}
func (ma *MutexLinksArray) GetArray() []com.Link {
ma.Mu.RLock()
defer ma.Mu.RUnlock()
return ma.Ar
}