11#define NOT_ENOUGH_MEMORY_MSG "Could not allocate enough memory: %d bytes"
118 if (
from ==
nullptr &&
to ==
nullptr)
return 0;
121 if (bytes == 0)
return 0;
136 LOGI(
"Resize to %d", (
int)bytes);
141 size_t delayCount = 0;
146 size_t bytes_to_read = len;
147 size_t bytes_read = 0;
150 bytes_to_read = min(len,
static_cast<size_t>(
buffer_size));
153 bytes_to_read = min((
int)bytes_to_read, to_write);
165 if (bytes_to_read > 0) {
179 result =
write(bytes_read, delayCount);
185 LOGI(
"StreamCopy::copy %s %u -> %u -> %u bytes - in %u hops",
log_name,
186 (
unsigned int)bytes_to_read, (
unsigned int)bytes_read,
187 (
unsigned int)result, (
unsigned int)delayCount);
212 for (
size_t j = 0; j < pages; j++) {
227 size_t copyAll(
int retryCount = 5,
int retryWaitMs = 200) {
233 if (
from ==
nullptr ||
to ==
nullptr)
return result;
248 if (retry > retryCount) {
258 if (
from !=
nullptr) {
265 LOGW(
"source not defined");
267 LOGD(
"available: %d", result);
376 if (info_from != info_to) {
377 LOGI(
"--> StreamCopy: ");
384 size_t write(
size_t len,
size_t &delayCount) {
385 if (!
buffer || len == 0)
return 0;
386 LOGD(
"write: %d", (
int)len);
392 LOGD(
"write: %d -> %d", (
int)open, (
int)written);
407 LOGE(
"write %s to target has failed after %d attempts! (%ld bytes)",
415 LOGI(
"try write %s - %d (open %ld bytes) ",
log_name, retry, open);
#define LOGW(...)
Definition AudioLoggerIDF.h:29
#define TRACED()
Definition AudioLoggerIDF.h:31
#define LOGI(...)
Definition AudioLoggerIDF.h:28
#define LOGD(...)
Definition AudioLoggerIDF.h:27
#define LOGE(...)
Definition AudioLoggerIDF.h:30
#define NOT_ENOUGH_MEMORY_MSG
Definition StreamCopy.h:11
#define DEFAULT_BUFFER_SIZE
Definition avr.h:20
virtual int availableForWrite()
Definition Arduino.h:128
virtual size_t write(const uint8_t *data, size_t len)
Definition Arduino.h:120
virtual size_t readBytes(uint8_t *data, size_t len)
Definition Arduino.h:140
virtual int available()
Definition Arduino.h:139