There are actually several instances where we pass in read-only
parameters as pass-by-value, where in the case of String() that
is inefficient as it involves copy-constructor/temp string creations.
We can avoid that, similarly to single character string concatenations
done via string literals instead of char literals.
* mDNS debug option + AP address is used by default when STA is also present
* mDNS: store network interface, checking it is up
* igmp: force on selected interface (avoid crash *sometimes*)
* fix for all lwip2 ipv4 ipv6 & lwip1
* mdns: IPAddress is not needed to reference associated interface
* mdns: debug: fix print warnings
* emulation: add ets_strncpy
* emulation: truly emulate AddrList (remove fake one)
Default interface is STA (or AP if available and STA is unavailable).
An interface can also be specified in ::begin() by its IP address.
MDNS will not cross interfaces (there is currently no notion of "bridged interfaces")
Multiple instances should be working, this is not tested in this commit.
* std::bind has issues with type inference, use lambdas whereever possible.
* Fix indentation.
* More descriptive placeholder name in lambda expression
* Use formal argument names for remaining currying placeholders
- Better separation of ESP wifi thread code from user thread code
- Added a flag for 'update()'-less use (disabled by default)
- The too fast updates for service queries are fixed
- Switched fully to PolledTimeout; LEATimeFlag not needed anymore (BTW: a const 'expired()' method would be helpful)
- The device should stay visible now even after the first TTL timeout
- Improved service querying (queries five times now)
- Fixed TTL (bug introduced with Fixes 1.0)
* Fixes 1.1
- Better separation of ESP wifi thread code from user thread code
- Added a flag for 'update()'-less use (disabled by default)
- The too fast updates for service queries are fixed
- Switched fully to PolledTimeout; LEATimeFlag not needed anymore (BTW: a const 'expired()' method would be helpful)
- The device should stay visible now even after the first TTL timeout
- Improved service querying (queries five times now)
* Update mDNS_Clock.ino
Removed references to LEATimeFlag.h
* Update mDNS_Clock.ino
Styling
The bug referenced in the code that required a custom macro to enable
PSTR/PROGMEM compilation ( https://github.com/esp8266/Arduino/issues/3369 )
was fixed a while back and all PROGMEM references now live in their own
save .sections.
This patch simply is the output of `sed -i s/PSTR_LEA/PSTR/g *` and
`sed -i s/PROGMEM_LEA/PROGMEM/g *` on the codebase and the removal
of those defines.
* LEAmDNS Responder (II)
Created a new branch to solve commit conflicts with recent changes to ESP8266mDNSResponder.cpp by d-a-v.
* Removed millis() roll-over issues
* fix LEA-mDNS
* astyle on lea-mdns examples
* add compatibility with lwIP-v1
* ditto
* use strncasecmp instead of lwip's strnicmp from lwIP-v2 (thanks @devyte)
* ditto
* fixes
* Update mDNS_Clock.ino
unindent
* Update mDNS_ServiceMonitor.ino
unindent
* Update LEAmDNS.h
Add setInstanceName() forwarder for compat
* Disable DEBUG_ESP_MDNS_RESPONDER by default
* [Fixed] Debug output line
DEBUG_OUTPUT needs to go inside DEBUG_EX_ function otherwise throw error if DEBUG_ESP_MDNS_RESPONDER is not defined