()
| 405 | } |
| 406 | |
| 407 | func (c *rawConnection) readerLoop() { |
| 408 | fourByteBuf := make([]byte, 4) |
| 409 | for { |
| 410 | msg, err := c.readMessage(fourByteBuf) |
| 411 | if err != nil { |
| 412 | if errors.Is(err, errUnknownMessage) { |
| 413 | // Unknown message types are skipped, for future extensibility. |
| 414 | continue |
| 415 | } |
| 416 | c.internalClose(err) |
| 417 | return |
| 418 | } |
| 419 | select { |
| 420 | case c.inbox <- msg: |
| 421 | case <-c.closed: |
| 422 | return |
| 423 | } |
| 424 | } |
| 425 | } |
| 426 | |
| 427 | func (c *rawConnection) dispatcherLoop() (err error) { |
| 428 | defer close(c.dispatcherLoopStopped) |
no test coverage detected