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

Method consumeFromTSIOBufferReader

src/tscpp/api/utils_internal.cc:283–310  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

281}
282
283std::string
284utils::internal::consumeFromTSIOBufferReader(TSIOBufferReader reader)
285{
286 std::string str;
287 int avail = TSIOBufferReaderAvail(reader);
288
289 if (avail != TS_ERROR) {
290 int consumed = 0;
291 if (avail > 0) {
292 str.reserve(avail + 1);
293
294 int64_t data_len;
295 const char *char_data;
296 TSIOBufferBlock block = TSIOBufferReaderStart(reader);
297 while (block != nullptr) {
298 char_data = TSIOBufferBlockReadStart(block, reader, &data_len);
299 str.append(char_data, data_len);
300 consumed += data_len;
301 block = TSIOBufferBlockNext(block);
302 }
303 }
304 TSIOBufferReaderConsume(reader, consumed);
305 } else {
306 LOG_ERROR("TSIOBufferReaderAvail returned error code %d for reader %p", avail, reader);
307 }
308
309 return str;
310}
311
312HttpVersion
313utils::internal::getHttpVersion(TSMBuffer hdr_buf, TSMLoc hdr_loc)

Callers

nothing calls this directly

Calls 7

TSIOBufferReaderAvailFunction · 0.85
TSIOBufferReaderStartFunction · 0.50
TSIOBufferBlockReadStartFunction · 0.50
TSIOBufferBlockNextFunction · 0.50
TSIOBufferReaderConsumeFunction · 0.50
reserveMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected