MCPcopy Create free account
hub / github.com/FastLED/FastLED / readChunk

Method readChunk

src/fl/net/http/chunked_encoding.cpp.hpp:88–103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86}
87
88ChunkedReadResult ChunkedReader::readChunk(fl::span<u8> out) {
89 using Status = ChunkedReadResult::Status;
90 if (mChunks.empty()) {
91 Status s = isFinal() ? Status::CHUNKED_FINAL : Status::CHUNKED_NO_DATA;
92 return ChunkedReadResult(s, fl::span<const u8>());
93 }
94 const fl::vector<u8>& front = mChunks.front();
95 if (out.size() < front.size()) {
96 // Caller's buffer is too small
97 return ChunkedReadResult(Status::CHUNKED_NO_DATA, fl::span<const u8>());
98 }
99 memcpy(out.data(), front.data(), front.size());
100 fl::span<const u8> written(out.data(), front.size());
101 mChunks.erase(mChunks.begin());
102 return ChunkedReadResult(Status::CHUNKED_DATA, written);
103}
104
105size_t ChunkedReader::nextChunkSize() const {
106 if (mChunks.empty()) {

Callers 3

parseChunkedMessagesMethod · 0.80
parseBodyMethod · 0.80
FL_TEST_FILEFunction · 0.80

Calls 8

ChunkedReadResultClass · 0.85
memcpyFunction · 0.50
emptyMethod · 0.45
frontMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45
eraseMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected