#include <folly/io/IOBufQueue.h>
#include <cstring>
#include <stdexcept>
make_pair;
pair;
unique_ptr;
namespace {
IOBuf;
const size_t MIN_ALLOC_SIZE = …;
const size_t MAX_ALLOC_SIZE = …;
template <class Src, class Next>
void packInto(IOBuf* tail, Src& src, Next next) { … }
void appendToChain(unique_ptr<IOBuf>& dst, unique_ptr<IOBuf>&& src, bool pack) { … }
}
namespace folly {
IOBufQueue::IOBufQueue(const Options& options)
: … { … }
IOBufQueue::~IOBufQueue() { … }
IOBufQueue::IOBufQueue(IOBufQueue&& other) noexcept
: … { … }
IOBufQueue& IOBufQueue::operator=(IOBufQueue&& other) { … }
std::pair<void*, std::size_t> IOBufQueue::headroom() { … }
void IOBufQueue::markPrepended(std::size_t n) { … }
void IOBufQueue::prepend(const void* buf, std::size_t n) { … }
void IOBufQueue::append(
unique_ptr<IOBuf>&& buf, bool pack, bool allowTailReuse) { … }
void IOBufQueue::append(
const folly::IOBuf& buf, bool pack, bool allowTailReuse) { … }
void IOBufQueue::append(folly::IOBuf&& buf, bool pack, bool allowTailReuse) { … }
void IOBufQueue::append(IOBufQueue& other, bool pack, bool allowTailReuse) { … }
void IOBufQueue::append(const void* buf, size_t len) { … }
void IOBufQueue::wrapBuffer(
const void* buf, size_t len, std::size_t blockSize) { … }
pair<void*, std::size_t> IOBufQueue::preallocateSlow(
std::size_t min, std::size_t newAllocationSize, std::size_t max) { … }
void IOBufQueue::maybeReuseTail(folly::IOBuf& oldTail) { … }
unique_ptr<IOBuf> IOBufQueue::split(size_t n, bool throwOnUnderflow) { … }
void IOBufQueue::trimStart(size_t amount) { … }
size_t IOBufQueue::trimStartAtMost(size_t amount) { … }
void IOBufQueue::trimEnd(size_t amount) { … }
size_t IOBufQueue::trimEndAtMost(size_t amount) { … }
std::unique_ptr<folly::IOBuf> IOBufQueue::pop_front() { … }
void IOBufQueue::clearAndTryReuseLargestBuffer() { … }
void IOBufQueue::appendToString(std::string& out) const { … }
void IOBufQueue::gather(std::size_t maxLength) { … }
}