Use new event API

This commit is contained in:
2021-11-20 20:52:08 +09:00
parent df5f0c0f65
commit 9368689019
8 changed files with 38 additions and 50 deletions

View File

@ -1,14 +1,11 @@
package arn
import "github.com/aerogo/aero"
// // EventStreams returns the user's active event streams.
// func (user *User) EventStreams() []*aero.EventStream {
// return user.eventStreams
// }
import (
"github.com/aerogo/aero/event"
)
// AddEventStream adds an event stream to the given user.
func (user *User) AddEventStream(stream *aero.EventStream) {
func (user *User) AddEventStream(stream *event.Stream) {
user.eventStreams.Lock()
defer user.eventStreams.Unlock()
@ -17,7 +14,7 @@ func (user *User) AddEventStream(stream *aero.EventStream) {
// RemoveEventStream removes an event stream from the given user
// and returns true if it was removed, otherwise false.
func (user *User) RemoveEventStream(stream *aero.EventStream) bool {
func (user *User) RemoveEventStream(stream *event.Stream) bool {
user.eventStreams.Lock()
defer user.eventStreams.Unlock()
@ -32,14 +29,14 @@ func (user *User) RemoveEventStream(stream *aero.EventStream) bool {
}
// BroadcastEvent sends the given event to all event streams for the given user.
func (user *User) BroadcastEvent(event *aero.Event) {
func (user *User) BroadcastEvent(evt *event.Event) {
user.eventStreams.Lock()
defer user.eventStreams.Unlock()
for _, stream := range user.eventStreams.value {
// Non-blocking send because we don't know if our listeners are still active.
select {
case stream.Events <- event:
case stream.Events <- evt:
default:
}
}