| 1526 | } |
| 1527 | |
| 1528 | int |
| 1529 | QPACK::_read_insert_without_name_ref(IOBufferReader &reader, Arena &arena, char **name, size_t &name_len, char **value, |
| 1530 | size_t &value_len) |
| 1531 | { |
| 1532 | size_t read_len = 0; |
| 1533 | int ret; |
| 1534 | uint8_t input[16384]; |
| 1535 | uint8_t *p = reinterpret_cast<uint8_t *>(reader.memcpy(input, sizeof(input))); |
| 1536 | int input_len = p - input; |
| 1537 | |
| 1538 | // Name |
| 1539 | uint64_t tmp; |
| 1540 | if ((ret = xpack_decode_string(arena, name, tmp, input, input + input_len, 5)) < 0 && tmp > 0xFFFF) { |
| 1541 | return -1; |
| 1542 | } |
| 1543 | name_len = tmp; |
| 1544 | read_len += ret; |
| 1545 | |
| 1546 | // Value |
| 1547 | if ((ret = xpack_decode_string(arena, value, tmp, input + read_len, input + input_len, 7)) < 0 && tmp > 0xFFFF) { |
| 1548 | return -1; |
| 1549 | } |
| 1550 | value_len = tmp; |
| 1551 | read_len += ret; |
| 1552 | |
| 1553 | reader.consume(read_len); |
| 1554 | |
| 1555 | return 0; |
| 1556 | } |
| 1557 | |
| 1558 | int |
| 1559 | QPACK::_read_duplicate(IOBufferReader &reader, uint16_t &index) |
no test coverage detected