mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-17 20:42:25 +03:00
27 lines
466 B
Go
27 lines
466 B
Go
package events
|
|
|
|
import (
|
|
"context"
|
|
|
|
"code.cloudfoundry.org/go-diodes"
|
|
)
|
|
|
|
type diode struct {
|
|
d *diodes.Poller
|
|
}
|
|
|
|
func newDiode(ctx context.Context, size int, alerter diodes.Alerter) *diode {
|
|
return &diode{
|
|
d: diodes.NewPoller(diodes.NewOneToOne(size, alerter), diodes.WithPollingContext(ctx)),
|
|
}
|
|
}
|
|
|
|
func (d *diode) set(data message) {
|
|
d.d.Set(diodes.GenericDataType(&data))
|
|
}
|
|
|
|
func (d *diode) next() *message {
|
|
data := d.d.Next()
|
|
return (*message)(data)
|
|
}
|