Exemple #1
0
int ICACHE_FLASH_ATTR WiFiClient::available()
{
    static uint32_t lastPollTime = 0;
    if (!_client)
        return 0;

    if (lastPollTime > esp_micros_at_task_start())
        yield();

    lastPollTime = micros();

    int result = _client->getSize();
    return result;
}
WiFiClient WiFiServer::available(byte* status)
{
    static uint32_t lastPollTime = 0;

    if (_unclaimed)
    {
        WiFiClient result(_unclaimed);
        _unclaimed = _unclaimed->next();
        DEBUGV("WS:av\r\n");
        return result;
    }

    if (lastPollTime > esp_micros_at_task_start())
        yield();
    lastPollTime = micros();

    return WiFiClient();
}