(conn *websocket.Conn, m eventsmux.Interface, cancel func(error))
| 66 | } |
| 67 | |
| 68 | func makeWriteTask(conn *websocket.Conn, m eventsmux.Interface, cancel func(error)) func(context.Context) error { |
| 69 | return func(ctx context.Context) (err error) { |
| 70 | defer func() { cancel(err) }() |
| 71 | for { |
| 72 | select { |
| 73 | case <-ctx.Done(): |
| 74 | return ctx.Err() |
| 75 | case response := <-m.Responses(): |
| 76 | if err := wsjson.Write(ctx, conn, response); err != nil { |
| 77 | return err |
| 78 | } |
| 79 | } |
| 80 | } |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | func makePingTask(conn *websocket.Conn, cancel func(error), period time.Duration) func(context.Context) error { |
| 85 | return func(ctx context.Context) (err error) { |
no test coverage detected