mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-27 18:02:17 +03:00
host emulation: improve udp, persistent spiffs (#5605)
This commit is contained in:
@ -156,18 +156,28 @@ public:
|
||||
|
||||
size_t getSize()
|
||||
{
|
||||
return _inbufsize?: mockFillInBuf(_sock, _inbuf, _inbufsize);
|
||||
if (_sock < 0)
|
||||
return 0;
|
||||
if (_inbufsize)
|
||||
return _inbufsize;
|
||||
return mockFillInBuf(_sock, _inbuf, _inbufsize);
|
||||
}
|
||||
|
||||
int read()
|
||||
{
|
||||
char c;
|
||||
return read(&c, 1)? c: -1;
|
||||
return read(&c, 1)? (unsigned char)c: -1;
|
||||
}
|
||||
|
||||
size_t read (char* dst, size_t size)
|
||||
{
|
||||
return mockRead(_sock, dst, size, 0, _inbuf, _inbufsize);
|
||||
ssize_t ret = mockRead(_sock, dst, size, 0, _inbuf, _inbufsize);
|
||||
if (ret < 0)
|
||||
{
|
||||
abort(); // close, CLOSED
|
||||
return 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int peek()
|
||||
@ -198,7 +208,13 @@ public:
|
||||
|
||||
size_t write(const uint8_t* data, size_t size)
|
||||
{
|
||||
return mockWrite(_sock, data, size, _timeout_ms);
|
||||
ssize_t ret = mockWrite(_sock, data, size, _timeout_ms);
|
||||
if (ret < 0)
|
||||
{
|
||||
abort(); // close, CLOSED
|
||||
return 0;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t write(Stream& stream)
|
||||
@ -208,7 +224,7 @@ public:
|
||||
avail = stream.readBytes(buf, avail);
|
||||
size_t totwrote = 0;
|
||||
uint8_t* w = buf;
|
||||
while (avail)
|
||||
while (avail && _sock >= 0)
|
||||
{
|
||||
size_t wrote = write(w, avail);
|
||||
w += wrote;
|
||||
|
Reference in New Issue
Block a user