dev #14
@@ -1,15 +1,12 @@
 | 
				
			|||||||
package sse
 | 
					package sse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
					 | 
				
			||||||
	"gitea.bvbej.com/bvbej/base-golang/pkg/mux"
 | 
						"gitea.bvbej.com/bvbej/base-golang/pkg/mux"
 | 
				
			||||||
	"gitea.bvbej.com/bvbej/base-golang/pkg/ticker"
 | 
					 | 
				
			||||||
	"github.com/gin-gonic/gin"
 | 
						"github.com/gin-gonic/gin"
 | 
				
			||||||
	"io"
 | 
						"io"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
	"sync/atomic"
 | 
						"sync/atomic"
 | 
				
			||||||
	"time"
 | 
					 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var _ Server = (*event)(nil)
 | 
					var _ Server = (*event)(nil)
 | 
				
			||||||
@@ -36,7 +33,6 @@ type event struct {
 | 
				
			|||||||
	Count       atomic.Int32
 | 
						Count       atomic.Int32
 | 
				
			||||||
	Register    chan clientChan
 | 
						Register    chan clientChan
 | 
				
			||||||
	Unregister  chan any
 | 
						Unregister  chan any
 | 
				
			||||||
	Ticker      ticker.Ticker
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewServer() Server {
 | 
					func NewServer() Server {
 | 
				
			||||||
@@ -45,12 +41,8 @@ func NewServer() Server {
 | 
				
			|||||||
		Count:       atomic.Int32{},
 | 
							Count:       atomic.Int32{},
 | 
				
			||||||
		Register:    make(chan clientChan),
 | 
							Register:    make(chan clientChan),
 | 
				
			||||||
		Unregister:  make(chan any),
 | 
							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()
 | 
						go e.listen()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return e
 | 
						return e
 | 
				
			||||||
@@ -137,6 +129,8 @@ func (stream *event) GinHandlerFunc(auth func(c *gin.Context) (string, error)) g
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
			return false
 | 
								return false
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							e <- msgChan{Name: "message", Message: "success"}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user