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

Function TSIOBufferBlockReadStart

src/api/InkIOCoreAPI.cc:546–572  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

544}
545
546const char *
547TSIOBufferBlockReadStart(TSIOBufferBlock blockp, TSIOBufferReader readerp, int64_t *avail)
548{
549 sdk_assert(sdk_sanity_check_iocore_structure(blockp) == TS_SUCCESS);
550 sdk_assert(sdk_sanity_check_iocore_structure(readerp) == TS_SUCCESS);
551
552 IOBufferBlock *blk = (IOBufferBlock *)blockp;
553 IOBufferReader *reader = (IOBufferReader *)readerp;
554 char *p;
555
556 p = blk->start();
557 if (avail) {
558 *avail = blk->read_avail();
559 }
560
561 if (reader->block.get() == blk) {
562 p += reader->start_offset;
563 if (avail) {
564 *avail -= reader->start_offset;
565 if (*avail < 0) {
566 *avail = 0;
567 }
568 }
569 }
570
571 return (const char *)p;
572}
573
574int64_t
575TSIOBufferBlockReadAvail(TSIOBufferBlock blockp, TSIOBufferReader readerp)

Calls 4

startMethod · 0.45
read_availMethod · 0.45
getMethod · 0.45