Merge pull request '[🚀] Ticker' (#13) from dev into main

Reviewed-on: #13
This commit is contained in:
bvbej 2024-09-07 15:44:39 +08:00
commit d3513ae4fa

View File

@ -1,12 +1,15 @@
package sse
import (
"fmt"
"gitea.bvbej.com/bvbej/base-golang/pkg/mux"
"gitea.bvbej.com/bvbej/base-golang/pkg/ticker"
"github.com/gin-gonic/gin"
"io"
"net/http"
"sync"
"sync/atomic"
"time"
)
var _ Server = (*event)(nil)
@ -31,9 +34,9 @@ type msgChan struct {
type event struct {
SessionList sync.Map
Count atomic.Int32
Register chan clientChan
Unregister chan any
Ticker ticker.Ticker
}
func NewServer() Server {
@ -42,8 +45,12 @@ func NewServer() Server {
Count: atomic.Int32{},
Register: make(chan clientChan),
Unregister: make(chan any),
Ticker: ticker.New(time.Second * 3),
}
go e.Ticker.Process(func() {
e.Broadcast("ping", fmt.Sprintf("%d", time.Now().Unix()))
})
go e.listen()
return e