| 540 | } |
| 541 | |
| 542 | bool websocket::peek_head_len_2bytes(void) |
| 543 | { |
| 544 | size_t len = peek_buf_->size(); |
| 545 | |
| 546 | if (len >= 2) { |
| 547 | logger_fatal("overflow, len=%ld", (long) len); |
| 548 | } |
| 549 | |
| 550 | if (!client_.readn_peek(peek_buf_, 2 - len, false)) { |
| 551 | return false; |
| 552 | } |
| 553 | |
| 554 | assert(peek_buf_->size() == 2); |
| 555 | |
| 556 | unsigned short n; |
| 557 | memcpy(&n, peek_buf_->c_str(), 2); |
| 558 | header_.payload_len = ntohs(n); |
| 559 | |
| 560 | status_ = header_.mask ? WS_HEAD_MASKING_KEY : WS_HEAD_FINISH; |
| 561 | peek_buf_->clear(); |
| 562 | return true; |
| 563 | } |
| 564 | |
| 565 | bool websocket::peek_head_len_8bytes(void) |
| 566 | { |
nothing calls this directly
no test coverage detected