Add mode that prints multiple worker status in console

This commit is contained in:
2025-01-16 09:37:29 +02:00
parent ccb8f6838e
commit 982fb75bd2
2 changed files with 32 additions and 0 deletions

32
hostPool/hostPool.go Normal file
View File

@@ -0,0 +1,32 @@
package gemini
import (
"sync"
)
var ipPool = IpAddressPool{IPs: make(map[string]int)} //nolint:gochecknoglobals
var hostPool = HostPool{hostnames: make(map[string]struct{})} //nolint:gochecknoglobals
type HostPool struct {
hostnames map[string]struct{}
Lock sync.RWMutex
}
func (p *HostPool) Add(key string) {
p.Lock.Lock()
defer p.Lock.Unlock()
p.hostnames[key] = struct{}{}
}
func (p *HostPool) Get(key string) bool {
p.Lock.RLock()
defer p.Lock.RUnlock()
_, ok := p.hostnames[key]
return ok
}
func (p *HostPool) Delete(key string) {
p.Lock.Lock()
defer p.Lock.Unlock()
delete(p.hostnames, key)
}