Привет всем, короткий вопрос про coder/websocket + Echo v5: Раз Echo запускает каждый хендлер в собственной goroutine, можно ли просто занять эту goroutine циклом чтения, без дополнительного go readPump()?


func (endpoint *SocketEndpoint) ServeSocket(ctx echo.Context) error {

socket, _ := websocket.Accept(ctx.Response(), ctx.Request(), nil)

defer socket.CloseNow()

for { _, message, readErr := socket.Read(ctx.Request().Context()) if readErr != nil { return nil } endpoint.bus.Publish(message) }


}

И раз конкурентные записи обслуживаются внутри coder/websocket, может ли хаб сам вызывать conn.Write(), без дополнительной goroutine writePump? Правильная ли это схема?