13 using namespace folly;
23 std::unique_ptr<folly::IOBuf>
30 std::unique_ptr<IOBuf>
37 size_t chunkLen =
floor((
double)inputLen / (
double)chunks);
40 for (
size_t i = 0;
i < chunks - 1; ++
i) {
41 auto buf = creator(chunkLen,
i);
42 buf->append(chunkLen);
50 size_t remainLen = inputLen - (chunks - 1) * chunkLen;
51 auto remain = creator(remainLen, chunks - 1);
52 remain->append(remainLen);
56 *input, *chunked, [](
uint8_t* out,
const uint8_t* in,
size_t len) {
bool unhexlify(const InputString &input, OutputString &output)
static std::unique_ptr< IOBuf > create(std::size_t capacity)
std::function< std::unique_ptr< folly::IOBuf >(size_t len, size_t bufNum)> BufCreator
std::unique_ptr< folly::IOBuf > toIOBuf(std::string hexData)
std::unique_ptr< folly::IOBuf > defaultCreator(size_t len, size_t)
constexpr detail::Map< Move > move
—— Concurrent Priority Queue Implementation ——
size_t countChainElements() const
void transformBuffer(const folly::IOBuf &in, folly::IOBuf &out, Func func)
void prependChain(std::unique_ptr< IOBuf > &&iobuf)
std::size_t computeChainDataLength() const
constexpr To floor(std::chrono::duration< Rep, Period > const &d)
static std::unique_ptr< IOBuf > copyBuffer(const void *buf, std::size_t size, std::size_t headroom=0, std::size_t minTailroom=0)
Chunked chunked(const Container &container, int chunkSize=256)
std::unique_ptr< IOBuf > chunkIOBuf(std::unique_ptr< IOBuf > input, size_t chunks, BufCreator creator)