mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-27 18:02:17 +03:00
Stream::send() (#6979)
This commit is contained in:
@ -27,7 +27,7 @@ class WiFiClient;
|
||||
extern "C" void esp_yield();
|
||||
extern "C" void esp_schedule();
|
||||
|
||||
#include <include/DataSource.h>
|
||||
#include <assert.h>
|
||||
|
||||
bool getDefaultPrivateGlobalSyncValue ();
|
||||
|
||||
@ -300,6 +300,33 @@ public:
|
||||
_sync = sync;
|
||||
}
|
||||
|
||||
// return a pointer to available data buffer (size = peekAvailable())
|
||||
// semantic forbids any kind of read() before calling peekConsume()
|
||||
const char* peekBuffer ()
|
||||
{
|
||||
return _inbuf;
|
||||
}
|
||||
|
||||
// return number of byte accessible by peekBuffer()
|
||||
size_t peekAvailable ()
|
||||
{
|
||||
ssize_t ret = mockPeekBytes(_sock, nullptr, 0, 0, _inbuf, _inbufsize);
|
||||
if (ret < 0)
|
||||
{
|
||||
abort();
|
||||
return 0;
|
||||
}
|
||||
return _inbufsize;
|
||||
}
|
||||
|
||||
// consume bytes after use (see peekBuffer)
|
||||
void peekConsume (size_t consume)
|
||||
{
|
||||
assert(consume <= _inbufsize);
|
||||
memmove(_inbuf, _inbuf + consume, _inbufsize - consume);
|
||||
_inbufsize -= consume;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
discard_cb_t _discard_cb = nullptr;
|
||||
|
Reference in New Issue
Block a user