MCPcopy Create free account
hub / github.com/apache/nifi-minifi-cpp / send_write

Method send_write

libminifi/include/utils/HTTPClient.h:223–254  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

221 */
222
223 static size_t send_write(char * data, size_t size, size_t nmemb, void * p) {
224 try {
225 if (p == nullptr) {
226 return CALLBACK_ABORT;
227 }
228 HTTPUploadCallback *callback = reinterpret_cast<HTTPUploadCallback*>(p);
229 if (callback->stop) {
230 return CALLBACK_ABORT;
231 }
232 size_t buffer_size = callback->ptr->getBufferSize();
233 if (callback->getPos() <= buffer_size) {
234 size_t len = buffer_size - callback->pos;
235 if (len <= 0) {
236 return 0;
237 }
238 char *ptr = callback->ptr->getBuffer(callback->getPos());
239
240 if (ptr == nullptr) {
241 return 0;
242 }
243 if (len > size * nmemb)
244 len = size * nmemb;
245 memcpy(data, ptr, len);
246 callback->pos += len;
247 callback->ptr->seek(callback->getPos());
248 return len;
249 }
250 return 0;
251 } catch (...) {
252 return CALLBACK_ABORT;
253 }
254 }
255
256 static int seek_callback(void *p, int64_t offset, int) {
257 try {

Callers

nothing calls this directly

Calls 4

getBufferSizeMethod · 0.45
getPosMethod · 0.45
getBufferMethod · 0.45
seekMethod · 0.45

Tested by

no test coverage detected