NetworkDebugPrinter packet optimization.
This commit is contained in:
@@ -3,28 +3,26 @@
|
||||
#ifdef WLED_DEBUG_HOST
|
||||
|
||||
size_t NetworkDebugPrinter::write(uint8_t c) {
|
||||
if (!WLED_CONNECTED || !udpConnected) return 0;
|
||||
|
||||
if (!debugPrintHostIP && !debugPrintHostIP.fromString(netDebugPrintHost)) {
|
||||
#ifdef ESP8266
|
||||
WiFi.hostByName(netDebugPrintHost, debugPrintHostIP, 750);
|
||||
#else
|
||||
#ifdef WLED_USE_ETHERNET
|
||||
ETH.hostByName(netDebugPrintHost, debugPrintHostIP);
|
||||
#else
|
||||
WiFi.hostByName(netDebugPrintHost, debugPrintHostIP);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
debugUdp.beginPacket(debugPrintHostIP, netDebugPrintPort);
|
||||
debugUdp.write(c);
|
||||
debugUdp.endPacket();
|
||||
return 1;
|
||||
begin();
|
||||
if (!udpConnected) return 0;
|
||||
return debugUdp.write(c);
|
||||
}
|
||||
|
||||
size_t NetworkDebugPrinter::write(const uint8_t *buf, size_t size) {
|
||||
if (!WLED_CONNECTED || !udpConnected || buf == nullptr) return 0;
|
||||
if (buf == nullptr) return 0;
|
||||
begin();
|
||||
if (!udpConnected) return 0;
|
||||
return debugUdp.write(buf, size);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::begin() {
|
||||
if (udpConnected) return;
|
||||
if (!WLED_CONNECTED) {
|
||||
debugUdp.stop();
|
||||
debugPrintHostIP = INADDR_NONE;
|
||||
udpConnected = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!debugPrintHostIP && !debugPrintHostIP.fromString(netDebugPrintHost)) {
|
||||
#ifdef ESP8266
|
||||
@@ -38,10 +36,13 @@ size_t NetworkDebugPrinter::write(const uint8_t *buf, size_t size) {
|
||||
#endif
|
||||
}
|
||||
|
||||
debugUdp.beginPacket(debugPrintHostIP, netDebugPrintPort);
|
||||
debugUdp.write(buf, size);
|
||||
debugUdp.endPacket();
|
||||
return size;
|
||||
udpConnected = debugUdp.beginPacket(debugPrintHostIP, netDebugPrintPort);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::flush() {
|
||||
if (udpConnected) {
|
||||
if (!debugUdp.endPacket()) udpConnected = false; // we were not able to send packet
|
||||
}
|
||||
}
|
||||
|
||||
NetworkDebugPrinter NetDebug;
|
||||
|
||||
Reference in New Issue
Block a user