MCPcopy Create free account
hub / github.com/apache/trafficserver / _read_insert_without_name_ref

Method _read_insert_without_name_ref

src/proxy/http3/QPACK.cc:1528–1556  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1526}
1527
1528int
1529QPACK::_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
1558int
1559QPACK::_read_duplicate(IOBufferReader &reader, uint16_t &index)

Callers 1

Calls 3

xpack_decode_stringFunction · 0.85
memcpyMethod · 0.80
consumeMethod · 0.45

Tested by

no test coverage detected