Skip to content

Commit 29df67b

Browse files
committed
fix(client): Implement readBytes in NetworkClient for faster downloads
1 parent 575a415 commit 29df67b

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

libraries/Network/src/NetworkClient.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,14 @@ int NetworkClient::read(uint8_t *buf, size_t size) {
479479
return res;
480480
}
481481

482+
size_t NetworkClient::readBytes(char *buffer, size_t length) {
483+
int r = read((uint8_t*)buffer, length);
484+
if (r < 0) {
485+
return 0;
486+
}
487+
return (size_t)r;
488+
}
489+
482490
int NetworkClient::peek() {
483491
int res = -1;
484492
if (fd() >= 0 && _rxBuffer) {

libraries/Network/src/NetworkClient.h

+4
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ class NetworkClient : public ESPLwIPClient {
6060
int available();
6161
int read();
6262
int read(uint8_t *buf, size_t size);
63+
size_t readBytes(char *buffer, size_t length);
64+
size_t readBytes(uint8_t *buffer, size_t length) {
65+
return readBytes((char *)buffer, length);
66+
}
6367
int peek();
6468
void clear(); // clear rx
6569
void stop();

0 commit comments

Comments
 (0)