1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-30 16:24:09 +03:00

Merge pull request #714 from martinayotte/esp8266

add toCharArray() to IPAddress class
This commit is contained in:
Ivan Grokhotkov
2015-08-31 09:37:22 +03:00
4 changed files with 49 additions and 5 deletions

View File

@ -28,6 +28,8 @@
#include <memory>
#include "include/slist.h"
#define WIFICLIENT_MAX_PACKET_SIZE 1460
class ClientContext;
class WiFiServer;
@ -46,6 +48,7 @@ public:
virtual int connect(const char *host, uint16_t port);
virtual size_t write(uint8_t);
virtual size_t write(const uint8_t *buf, size_t size);
size_t write_P(PGM_P buf, size_t size);
template <typename T>
size_t write(T& source, size_t unitSize);
@ -67,16 +70,16 @@ public:
static void setLocalPortStart(uint16_t port) { _localPort = port; }
template<typename T> size_t write(T &src){
uint8_t obuf[1460];
uint8_t obuf[WIFICLIENT_MAX_PACKET_SIZE];
size_t doneLen = 0;
size_t sentLen;
int i;
while (src.available() > 1460){
src.read(obuf, 1460);
sentLen = write(obuf, 1460);
while (src.available() > WIFICLIENT_MAX_PACKET_SIZE){
src.read(obuf, WIFICLIENT_MAX_PACKET_SIZE);
sentLen = write(obuf, WIFICLIENT_MAX_PACKET_SIZE);
doneLen = doneLen + sentLen;
if(sentLen != 1460){
if(sentLen != WIFICLIENT_MAX_PACKET_SIZE){
return doneLen;
}
}