52 for (
size_t i = 0; i < remaining; i++) {
91 Status s =
isFinal() ? Status::CHUNKED_FINAL : Status::CHUNKED_NO_DATA;
127 for (
size_t i = 0; i + 1 <
mBuffer.size(); i++) {
133 size_t semicolon = sizeStr.
find(
';');
135 sizeStr = sizeStr.
substr(0, semicolon);
166 for (
size_t i = n; i <
mBuffer.size(); i++) {
182 int hexLen =
fl::snprintf(sizeHex,
sizeof(sizeHex),
"%zx", dataLen);
183 return static_cast<size_t>(hexLen) + 2 + dataLen + 2;
189 int hexLen =
fl::snprintf(sizeHex,
sizeof(sizeHex),
"%zx\r\n", data.
size());
190 size_t totalNeeded =
static_cast<size_t>(hexLen) + data.
size() + 2;
191 if (out.
size() < totalNeeded) {
198 memcpy(dst, sizeHex,
static_cast<size_t>(hexLen));
217 const char* finalStr =
"0\r\n\r\n";
fl::size find(const char &value) const FL_NOEXCEPT
const char * c_str() const FL_NOEXCEPT
bool parseChunkSize(size_t &outSize)
void feed(fl::span< const u8 > data)
fl::vector< u8 > mCurrentChunk
ChunkedReader() FL_NOEXCEPT
ChunkedReadResult readChunk(fl::span< u8 > out)
size_t nextChunkSize() const
fl::vector< fl::vector< u8 > > mChunks
size_t writeChunk(fl::span< const u8 > data, fl::span< u8 > out)
static size_t chunkOverhead(size_t dataLen)
static constexpr size_t FINAL_SIZE
size_t writeFinal(fl::span< u8 > out)
ChunkedWriter() FL_NOEXCEPT
iterator begin() FL_NOEXCEPT
const T * data() const FL_NOEXCEPT
iterator end() FL_NOEXCEPT
constexpr fl::size size() const FL_NOEXCEPT
string substr(fl::size start, fl::size length) const FL_NOEXCEPT
static constexpr fl::size npos
fl::size size() const FL_NOEXCEPT
void reserve(fl::size n) FL_NOEXCEPT
void push_back(const T &value) FL_NOEXCEPT
constexpr remove_reference< T >::type && move(T &&t) FL_NOEXCEPT
void * memcpy(void *dest, const void *src, size_t n) FL_NOEXCEPT
constexpr T * end(T(&array)[N]) FL_NOEXCEPT
int snprintf(char *buffer, fl::size size, const char *format, const Args &... args) FL_NOEXCEPT
Snprintf-like formatting function that writes to a buffer.
unsigned long strtoul(const char *str, char **endptr, int base)
Base definition for an LED controller.