proxygen
|
#include <Cursor.h>
Public Member Functions | |
CursorBase (BufType *buf) | |
template<class OtherDerived , class OtherBuf > | |
CursorBase (const CursorBase< OtherDerived, OtherBuf > &cursor) | |
void | reset (BufType *buf) |
size_t | getCurrentPosition () const |
const uint8_t * | data () const |
size_t | length () const |
size_t | totalLength () const |
bool | canAdvance (size_t amount) const |
bool | isAtEnd () const |
void | advanceToEnd () |
Derived & | operator+= (size_t offset) |
Derived | operator+ (size_t offset) const |
Derived & | operator-= (size_t offset) |
Derived | operator- (size_t offset) const |
bool | operator== (const Derived &other) const |
bool | operator!= (const Derived &other) const |
template<class T > | |
std::enable_if< std::is_arithmetic< T >::value, bool >::type | tryRead (T &val) |
template<class T > | |
bool | tryReadBE (T &val) |
template<class T > | |
bool | tryReadLE (T &val) |
template<class T > | |
T | read () |
template<class T > | |
T | readBE () |
template<class T > | |
T | readLE () |
std::string | readFixedString (size_t len) |
std::string | readTerminatedString (char termChar= '\0', size_t maxLength=std::numeric_limits< size_t >::max()) |
template<typename Predicate > | |
std::string | readWhile (const Predicate &predicate) |
template<typename Predicate , typename Output > | |
void | readWhile (const Predicate &predicate, Output &out) |
template<typename Predicate > | |
void | skipWhile (const Predicate &predicate) |
size_t | skipAtMost (size_t len) |
void | skip (size_t len) |
void | skipNoAdvance (size_t len) |
size_t | retreatAtMost (size_t len) |
void | retreat (size_t len) |
size_t | pullAtMost (void *buf, size_t len) |
void | pull (void *buf, size_t len) |
ByteRange | peekBytes () |
std::pair< const uint8_t *, size_t > | peek () |
void | clone (std::unique_ptr< folly::IOBuf > &buf, size_t len) |
void | clone (folly::IOBuf &buf, size_t len) |
size_t | cloneAtMost (folly::IOBuf &buf, size_t len) |
size_t | cloneAtMost (std::unique_ptr< folly::IOBuf > &buf, size_t len) |
size_t | operator- (const CursorBase &other) const |
size_t | operator- (const BufType *buf) const |
Protected Member Functions | |
void | dcheckIntegrity () const |
~CursorBase () | |
BufType * | head () |
bool | tryAdvanceBuffer () |
bool | tryRetreatBuffer () |
void | advanceBufferIfEmpty () |
Protected Attributes | |
BufType * | crtBuf_ |
BufType * | buffer_ |
const uint8_t * | crtBegin_ {nullptr} |
const uint8_t * | crtEnd_ {nullptr} |
const uint8_t * | crtPos_ {nullptr} |
size_t | absolutePos_ {0} |
Private Member Functions | |
template<class T > | |
FOLLY_NOINLINE T | readSlow () |
void | readFixedStringSlow (std::string *str, size_t len) |
size_t | pullAtMostSlow (void *buf, size_t len) |
void | pullSlow (void *buf, size_t len) |
size_t | skipAtMostSlow (size_t len) |
void | skipSlow (size_t len) |
size_t | retreatAtMostSlow (size_t len) |
void | retreatSlow (size_t len) |
void | advanceDone () |
Friends | |
template<class D , typename B > | |
class | CursorBase |
|
inlineexplicit |
|
inlineexplicit |
Copy constructor.
This also allows constructing a CursorBase from other derived types. For instance, this allows constructing a Cursor from an RWPrivateCursor.
Definition at line 76 of file Cursor.h.
|
inlineprotected |
|
inlineprotected |
Definition at line 612 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMostSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedStringSlow(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMostSlow().
|
inlineprivate |
|
inline |
Advances the cursor to the end of the entire IOBuf chain.
Definition at line 185 of file Cursor.h.
Referenced by fizz::EncryptedReadRecordLayer::read(), and TEST().
|
inline |
Return true if the cursor could advance the specified number of bytes from its current position. This is useful for applications that want to do checked reads instead of catching exceptions and is more efficient than using totalLength as it walks the minimal set of buffers in the chain to determine the result.
Definition at line 142 of file Cursor.h.
|
inline |
Definition at line 456 of file Cursor.h.
Referenced by proxygen::HTTP2Codec::parseDataFrameData(), proxygen::SPDYCodec::parseIngress(), and fizz::detail::readBuf().
|
inline |
Definition at line 462 of file Cursor.h.
|
inline |
Definition at line 468 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::clone(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost().
|
inline |
Definition at line 511 of file Cursor.h.
|
inline |
Definition at line 105 of file Cursor.h.
Referenced by proxygen::HPACKDecodeBuffer::decodeLiteral(), proxygen::HPACKDecodeBuffer::peek(), folly::io::detail::CursorBase< Cursor, const IOBuf >::peekBytes(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pull(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMostSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::read(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedStringSlow(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRead().
|
inlineprotected |
Definition at line 570 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceBufferIfEmpty(), folly::io::detail::CursorBase< Cursor, const IOBuf >::data(), folly::io::RWCursor< access >::gatherAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::getCurrentPosition(), folly::io::RWCursor< access >::insert(), folly::io::detail::CursorBase< Cursor, const IOBuf >::isAtEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::length(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pull(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreat(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skip(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMost(), and folly::io::RWCursor< access >::writableData().
|
inline |
|
inlineprotected |
|
inline |
Definition at line 159 of file Cursor.h.
Referenced by fizz::decode(), and fizz::transformBufferBlocks().
|
inline |
Return the remaining space available in the current IOBuf.
May return 0 if the cursor is at the end of an IOBuf. Use peekBytes() instead if you want to avoid this. peekBytes() will advance to the next non-empty IOBuf (up to the end of the chain) if the cursor is currently pointing at the end of a buffer.
Definition at line 118 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::canAdvance(), folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost(), proxygen::HPACKDecodeBuffer::decodeLiteral(), folly::io::Appender::ensure(), folly::io::QueueAppender::ensure(), folly::io::RWCursor< access >::insert(), proxygen::HPACKDecodeBuffer::peek(), folly::io::detail::CursorBase< Cursor, const IOBuf >::peekBytes(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMostSlow(), folly::io::RWCursor< access >::pushAtMost(), folly::io::Appender::pushAtMost(), folly::io::QueueAppender::pushAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedStringSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMostSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipNoAdvance(), folly::bser::throwDecodeError(), and folly::io::QueueAppender::write().
|
inline |
Definition at line 252 of file Cursor.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Compare cursors for equality/inequality.
Two cursors are equal if they are pointing to the same location in the same IOBuf chain.
Definition at line 233 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::operator!=().
|
inline |
Alternate version of peekBytes() that returns a std::pair instead of a ByteRange. (This method pre-dates ByteRange.)
This function will eventually be deprecated.
Definition at line 451 of file Cursor.h.
Referenced by proxygen::SPDYCodec::parseIngress(), proxygen::GzipHeaderCodec::parseNameValues(), and proxygen::HPACKDecodeBuffer::peek().
|
inline |
Return the available data in the current buffer. If you want to gather more data from the chain into a contiguous region (for hopefully zero-copy access), use gather() before peekBytes().
Definition at line 436 of file Cursor.h.
Referenced by folly::bser::decodeHeader(), folly::bser::decodeTemplate(), folly::io::StreamCodec::doUncompress(), folly::IOBufCompare::impl(), folly::IOBufHash::operator()(), folly::io::detail::CursorBase< Cursor, const IOBuf >::peek(), folly::Subprocess::pid(), folly::io::detail::Writable< Appender >::pushAtMost(), TEST(), and fizz::transformBufferBlocks().
|
inline |
Definition at line 418 of file Cursor.h.
Referenced by folly::bser::decodeHeader(), proxygen::HPACKDecodeBuffer::decodeLiteral(), fizz::EncryptedReadRecordLayer::getDecryptedBuf(), folly::bser::parseBser(), proxygen::GzipHeaderCodec::parseNameValues(), fizz::detail::Reader< Random >::read(), and fizz::detail::readBits24().
|
inline |
Definition at line 407 of file Cursor.h.
Referenced by folly::AsyncSSLSocket::bioRead(), folly::bser::decodeString(), folly::AsyncSocket::performRead(), and prefixBaseline().
|
inlineprivate |
Definition at line 647 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullSlow(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRead().
|
inlineprivate |
Definition at line 671 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::pull(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::readSlow().
|
inline |
Definition at line 282 of file Cursor.h.
Referenced by folly::bser::decodeInt(), folly::bser::decodeObject(), folly::bser::decodeTemplate(), folly::io::StreamCodec::doUncompress(), proxygen::SPDYCodec::onControlFrame(), folly::bser::parseBser(), proxygen::RFC1867Codec::readToBoundary(), TEST(), and TEST_F().
|
inline |
Definition at line 293 of file Cursor.h.
Referenced by fizz::extensions::Validator::constructEcKeyFromBuf(), proxygen::compress::HPACKScheme::decode(), proxygen::compress::QPACKScheme::decode(), proxygen::SPDYCodec::onControlFrame(), proxygen::SPDYCodec::parseIngress(), fizz::detail::Reader< U >::read(), fizz::detail::Reader< Extension >::read(), fizz::detail::readBuf(), and fizz::detail::ReadVector< N, T >::readVector().
|
inline |
Read a fixed-length string.
The std::string-based APIs should probably be avoided unless you ultimately want the data to live in an std::string. You're better off using the pull() APIs to copy into a raw buffer otherwise.
Definition at line 309 of file Cursor.h.
Referenced by proxygen::HTTP2Codec::onIngress().
|
inlineprivate |
Definition at line 634 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString().
|
inline |
|
inlineprivate |
std::string folly::io::detail::CursorBase< Derived, BufType >::readTerminatedString | ( | char | termChar = '\0' , |
size_t | maxLength = std::numeric_limits<size_t>::max() |
||
) |
Read a string consisting of bytes until the given terminator character is seen. Raises an std::length_error if maxLength bytes have been processed before the terminator is seen.
See comments in readFixedString() about when it's appropriate to use this vs. using pull().
Definition at line 45 of file Cursor-inl.h.
References folly::gen::skip(), and uint8_t.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString().
std::string folly::io::detail::CursorBase< Derived, BufType >::readWhile | ( | const Predicate & | predicate | ) |
Definition at line 72 of file Cursor-inl.h.
References folly::io::detail::CursorStringAppender::extractString(), and s.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString().
void folly::io::detail::CursorBase< Derived, BufType >::readWhile | ( | const Predicate & | predicate, |
Output & | out | ||
) |
|
inline |
|
inline |
Definition at line 398 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::operator-=().
|
inline |
Definition at line 389 of file Cursor.h.
|
inlineprivate |
Definition at line 697 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMost(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatSlow().
|
inlineprivate |
Definition at line 710 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::retreat().
|
inline |
Definition at line 371 of file Cursor.h.
Referenced by proxygen::HPACKDecodeBuffer::decodeLiteral(), folly::IOBufCompare::impl(), proxygen::HPACKDecodeBuffer::next(), proxygen::SPDYCodec::onControlFrame(), folly::IOBufHash::operator()(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator+=(), proxygen::HTTP2Codec::parseFrame(), proxygen::GzipHeaderCodec::parseNameValues(), folly::io::detail::Writable< Appender >::pushAtMost(), proxygen::RFC1867Codec::readToBoundary(), TEST(), TEST_F(), and fizz::transformBufferBlocks().
|
inline |
Definition at line 362 of file Cursor.h.
Referenced by folly::bser::decodeTemplate().
|
inlineprivate |
Definition at line 677 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMost(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::skipSlow().
|
inline |
|
inlineprivate |
Definition at line 691 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::skip().
void folly::io::detail::CursorBase< Derived, BufType >::skipWhile | ( | const Predicate & | predicate | ) |
Definition at line 104 of file Cursor-inl.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString().
|
inline |
Return the space available until the end of the entire IOBuf chain.
Definition at line 126 of file Cursor.h.
Referenced by folly::io::RWCursor< access >::gather(), folly::io::RWCursor< access >::gatherAtMost(), proxygen::HTTP2Codec::onIngress(), proxygen::SPDYCodec::parseIngress(), fizz::detail::ReadVector< N, T >::readVector(), fizz::detail::ReadVector< bits24, T >::readVector(), proxygen::HPACKDecodeBuffer::reset(), and TEST().
|
inlineprotected |
Definition at line 584 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceBufferIfEmpty(), folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::peekBytes(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMostSlow(), folly::io::RWCursor< access >::pushAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedStringSlow(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMostSlow().
|
inline |
Definition at line 257 of file Cursor.h.
Referenced by TEST(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryReadBE(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::tryReadLE().
|
inline |
Definition at line 268 of file Cursor.h.
Referenced by TEST().
|
inline |
Definition at line 275 of file Cursor.h.
Referenced by prefix(), and TEST().
|
inlineprotected |
Definition at line 599 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMostSlow().
|
friend |
|
protected |
Definition at line 624 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceToEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::getCurrentPosition(), folly::io::RWCursor< access >::insert(), folly::io::detail::CursorBase< Cursor, const IOBuf >::reset(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryAdvanceBuffer(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRetreatBuffer().
|
protected |
Definition at line 620 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceToEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::canAdvance(), folly::io::Appender::ensure(), folly::io::detail::CursorBase< Cursor, const IOBuf >::head(), folly::io::RWCursor< access >::insert(), folly::io::detail::CursorBase< Cursor, const IOBuf >::isAtEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator-(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator==(), folly::io::detail::CursorBase< Cursor, const IOBuf >::reset(), folly::io::detail::CursorBase< Cursor, const IOBuf >::totalLength(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryAdvanceBuffer(), folly::io::Appender::tryGrowChain(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRetreatBuffer().
|
protected |
Definition at line 621 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceToEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::CursorBase(), folly::io::detail::CursorBase< Cursor, const IOBuf >::dcheckIntegrity(), folly::io::RWCursor< access >::gather(), folly::io::RWCursor< access >::gatherAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::getCurrentPosition(), folly::io::RWCursor< access >::insert(), folly::io::RWCursor< access >::maybeUnshare(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator-(), folly::io::detail::CursorBase< Cursor, const IOBuf >::reset(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreat(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMostSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::totalLength(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryAdvanceBuffer(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRetreatBuffer(), and folly::io::RWCursor< access >::writableData().
|
protected |
Definition at line 619 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceToEnd(), folly::io::Appender::append(), folly::io::detail::CursorBase< Cursor, const IOBuf >::canAdvance(), folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::CursorBase(), folly::io::detail::CursorBase< Cursor, const IOBuf >::dcheckIntegrity(), folly::io::Appender::ensure(), folly::io::RWCursor< access >::gather(), folly::io::RWCursor< access >::gatherAtMost(), folly::io::RWCursor< access >::insert(), folly::io::detail::CursorBase< Cursor, const IOBuf >::isAtEnd(), folly::io::Appender::length(), folly::io::RWCursor< access >::maybeUnshare(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator-(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator==(), folly::io::detail::CursorBase< Cursor, const IOBuf >::reset(), folly::io::detail::CursorBase< Cursor, const IOBuf >::totalLength(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryAdvanceBuffer(), folly::io::Appender::tryGrowChain(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRetreatBuffer(), folly::io::RWCursor< access >::writableData(), and folly::io::Appender::writableData().
|
protected |
Definition at line 622 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceBufferIfEmpty(), folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceToEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::CursorBase(), folly::io::detail::CursorBase< Cursor, const IOBuf >::dcheckIntegrity(), folly::io::RWCursor< access >::gather(), folly::io::RWCursor< access >::gatherAtMost(), folly::io::RWCursor< access >::insert(), folly::io::detail::CursorBase< Cursor, const IOBuf >::isAtEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::length(), folly::io::RWCursor< access >::maybeUnshare(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator-(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pull(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::read(), folly::io::detail::CursorBase< Cursor, const IOBuf >::reset(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skip(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryAdvanceBuffer(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRead(), and folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRetreatBuffer().
|
protected |
Definition at line 623 of file Cursor.h.
Referenced by folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceBufferIfEmpty(), folly::io::detail::CursorBase< Cursor, const IOBuf >::advanceToEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::cloneAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::CursorBase(), folly::io::detail::CursorBase< Cursor, const IOBuf >::data(), folly::io::detail::CursorBase< Cursor, const IOBuf >::dcheckIntegrity(), folly::io::RWCursor< access >::gather(), folly::io::RWCursor< access >::gatherAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::getCurrentPosition(), folly::io::RWCursor< access >::insert(), folly::io::detail::CursorBase< Cursor, const IOBuf >::isAtEnd(), folly::io::detail::CursorBase< Cursor, const IOBuf >::length(), folly::io::RWCursor< access >::maybeUnshare(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator-(), folly::io::detail::CursorBase< Cursor, const IOBuf >::operator==(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pull(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::pullAtMostSlow(), folly::io::RWCursor< access >::pushAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::read(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedString(), folly::io::detail::CursorBase< Cursor, const IOBuf >::readFixedStringSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::reset(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreat(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::retreatAtMostSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skip(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMost(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipAtMostSlow(), folly::io::detail::CursorBase< Cursor, const IOBuf >::skipNoAdvance(), folly::io::detail::CursorBase< Cursor, const IOBuf >::totalLength(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryAdvanceBuffer(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRead(), folly::io::detail::CursorBase< Cursor, const IOBuf >::tryRetreatBuffer(), and folly::io::RWCursor< access >::writableData().