David Cermak 8a690503ed fix(mdns): Fix services API races to directly add/remove services
Original issue (data race when updating hostname): mdns_service_add()
makes a copy of the local hostname and calls using the local copy
mdns_service_add_for_host().
When mdns's hostname is updated the local copy gets out of sync.
**API race issue**: Most of the current API correctly lock the mdns service,
but sometimes unlocks it before sending an action to the action queue,
so it's possible that the situation changes before the actual action
takes place.
**Fix**: After locking the mdns service, we proceed directly with updating
internal structures and do not post actions into the action queue.
**Fix wrtt hostname**: Use mdns_service_add_for_host(hostname=NULL)
for all self hosted services.
MAJOR CHANGE: Fixed mdns API issues when add/remove/update records from multiple threads
This and the following commits fix the API race issues for these mdns APIs:
* mdns_service_add_for_host
* mdns_service_port_set_for_host
* mdns_service_txt_set_for_host
* mdns_service_txt_item_set_for_host_with_explicit_value_len
* mdns_service_txt_item_remove_for_host
* mdns_service_subtype_add_for_host
* mdns_service_instance_name_set_for_host
* mdns_service_remove_for_host
* mdns_service_remove_all
2024-08-19 12:36:05 +02:00
2023-03-31 12:04:46 +04:00

Collection of protocol components for ESP-IDF

How to use

The ESP-Protocols repository contains a collection of protocol components for ESP-IDF. Additionally, each component is available in IDF Component Registry. Please refer to instructions in ESP-IDF

Components

esp_modem

mDNS

esp_websocket_client

ASIO port

esp_mqtt_cxx

console_simple_init

console_cmd_ping

console_cmd_ifconfig

console_cmd_wifi

esp_wifi_remote

mbedtls_cxx

Description
Collection of ESP-IDF components related to networking protocols
Readme 42 MiB
Languages
C 56.7%
C++ 35.3%
Python 4.4%
CMake 2.4%
Shell 0.7%
Other 0.5%