You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
391 B
25 lines
391 B
package server
|
|
|
|
import "sync"
|
|
|
|
type ConnectionManager struct {
|
|
*sync.WaitGroup
|
|
Counter int
|
|
}
|
|
|
|
func NewConnectionManager() *ConnectionManager {
|
|
cm := &ConnectionManager{}
|
|
cm.WaitGroup = &sync.WaitGroup{}
|
|
return cm
|
|
}
|
|
|
|
func (cm *ConnectionManager) Add(delta int) {
|
|
cm.Counter += delta
|
|
cm.WaitGroup.Add(delta)
|
|
}
|
|
|
|
func (cm *ConnectionManager) Done() {
|
|
cm.Counter--
|
|
cm.WaitGroup.Done()
|
|
}
|