Which is perfectly fine. However, you will be able to process only a single message per connection at once.
What you would do in go is:
- either a new goroutine per message
- or installing a worker pool with a predefined goroutine size accepting messages for processing