feudal/subjects/subjects.go
Matthew Rich 72505a21c0
Some checks failed
Lint / golangci-lint (push) Failing after 9m41s
Declarative Tests / test (push) Failing after 16s
add subjects
2024-05-05 00:33:44 -07:00

42 lines
721 B
Go

package subjects
import (
"feudal/feudal"
"feudal/message"
)
type WorkerCollection map[string]feudal.WorkerRouter
func New() feudal.Subjects {
var c WorkerCollection = make(map[string]feudal.WorkerRouter)
return &c
}
func (c *WorkerCollection) Send(m message.Envelope) {
for _, w := range *c {
w.Send(m)
}
}
func (c *WorkerCollection) Add(name string, worker feudal.WorkerRouter) {
(*c)[name] = worker
}
func (c *WorkerCollection) Remove(name string) {
}
func (c *WorkerCollection) Disolve() {
for _, w := range *c {
w.Stop()
}
}
func (c *WorkerCollection) Address() string {
return ""
}
func (c *WorkerCollection) Get(name string) feudal.WorkerRouter {
return (*c)[name]
}