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(); }