FastLED 3.9.15
Loading...
Searching...
No Matches

◆ readChunk()

ChunkedReadResult fl::net::http::ChunkedReader::readChunk ( fl::span< u8 > out)

Definition at line 88 of file chunked_encoding.cpp.hpp.

88 {
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}
fl::vector< fl::vector< u8 > > mChunks
const T * data() const FL_NOEXCEPT
Definition span.h:461
constexpr fl::size size() const FL_NOEXCEPT
Definition span.h:458
fl::size size() const FL_NOEXCEPT
T * data() FL_NOEXCEPT
Definition vector.h:619
void * memcpy(void *dest, const void *src, size_t n) FL_NOEXCEPT

References fl::span< T, Extent >::data(), fl::vector< T >::data(), isFinal(), mChunks, fl::memcpy(), fl::span< T, Extent >::size(), and fl::vector_basic::size().

+ Here is the call graph for this function: