refactor
parent
39c9eae7ad
commit
c3e9c18e95
|
|
@ -18,21 +18,21 @@ func isWS(r *http.Request) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *S) serveWS(w http.ResponseWriter, r *http.Request) error {
|
func (s *S) serveWS(w http.ResponseWriter, r *http.Request) error {
|
||||||
|
ctx, can := context.WithCancel(r.Context())
|
||||||
|
defer can()
|
||||||
|
|
||||||
c, err := websocket.Accept(w, r, nil)
|
c, err := websocket.Accept(w, r, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer c.CloseNow()
|
defer c.CloseNow()
|
||||||
|
|
||||||
ugs, err := NewUserGameServer(r.Context(), s.Session(r.Context()), s.games)
|
ugs, err := NewUserGameServer(ctx, s.Session(ctx), s.games)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
game := ugs.ID
|
game := ugs.ID
|
||||||
|
|
||||||
ctx, can := context.WithCancel(r.Context())
|
|
||||||
defer can()
|
|
||||||
|
|
||||||
go ugs.Listen(ctx, can, func(ctx context.Context) ([]byte, error) {
|
go ugs.Listen(ctx, can, func(ctx context.Context) ([]byte, error) {
|
||||||
_, b, err := c.Read(ctx)
|
_, b, err := c.Read(ctx)
|
||||||
return b, err
|
return b, err
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue