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

Method writeChunk

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

Source from the content-addressed store, hash-verified

184}
185
186size_t ChunkedWriter::writeChunk(fl::span<const u8> data, fl::span<u8> out) {
187 // Format: <size-hex>\r\n<data>\r\n
188 char sizeHex[32];
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) {
192 return 0;
193 }
194
195 u8* dst = out.data();
196
197 // Write size hex + CRLF
198 memcpy(dst, sizeHex, static_cast<size_t>(hexLen));
199 dst += hexLen;
200
201 // Write data
202 memcpy(dst, data.data(), data.size());
203 dst += data.size();
204
205 // Write trailing CRLF
206 *dst++ = '\r';
207 *dst++ = '\n';
208
209 return totalNeeded;
210}
211
212size_t ChunkedWriter::writeFinal(fl::span<u8> out) {
213 if (out.size() < FINAL_SIZE) {

Callers 2

writeResponseMethod · 0.80
FL_TEST_FILEFunction · 0.80

Calls 4

snprintfFunction · 0.85
memcpyFunction · 0.50
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected