Merge branch 'bugfix/mdns_add_result_count_async' into 'master'

mdns: Added results count to async API (GitHub PR)

Closes IDFGH-6340

See merge request espressif/esp-idf!16362
This commit is contained in:
David Čermák
2021-12-16 12:48:39 +00:00
3 changed files with 10 additions and 4 deletions

View File

@@ -546,12 +546,13 @@ esp_err_t mdns_query_async_delete(mdns_search_once_t* search);
* @param search pointer to search object * @param search pointer to search object
* @param timeout time in milliseconds to wait for answers * @param timeout time in milliseconds to wait for answers
* @param results pointer to the results of the query * @param results pointer to the results of the query
* @param num_results pointer to the number of the actual result items (set to NULL to ignore this return value)
* *
* @return * @return
* True if search has finished before or at timeout * True if search has finished before or at timeout
* False if search timeout is over * False if search timeout is over
*/ */
bool mdns_query_async_get_results(mdns_search_once_t* search, uint32_t timeout, mdns_result_t ** results); bool mdns_query_async_get_results(mdns_search_once_t* search, uint32_t timeout, mdns_result_t ** results, uint8_t * num_results);
/** /**
* @brief Query mDNS for host or service asynchronousely. * @brief Query mDNS for host or service asynchronousely.

View File

@@ -5573,10 +5573,15 @@ esp_err_t mdns_query_async_delete(mdns_search_once_t* search)
return ESP_OK; return ESP_OK;
} }
bool mdns_query_async_get_results(mdns_search_once_t* search, uint32_t timeout, mdns_result_t ** results) bool mdns_query_async_get_results(mdns_search_once_t* search, uint32_t timeout, mdns_result_t ** results, uint8_t * num_results)
{ {
if (xSemaphoreTake(search->done_semaphore, pdMS_TO_TICKS(timeout)) == pdTRUE) { if (xSemaphoreTake(search->done_semaphore, pdMS_TO_TICKS(timeout)) == pdTRUE) {
if (results) {
*results = search->result; *results = search->result;
}
if (num_results) {
*num_results = search->num_results;
}
return true; return true;
} }
return false; return false;

View File

@@ -146,7 +146,7 @@ static bool check_and_print_result(mdns_search_once_t *search)
{ {
// Check if any result is available // Check if any result is available
mdns_result_t * result = NULL; mdns_result_t * result = NULL;
if (!mdns_query_async_get_results(search, 0, &result)) { if (!mdns_query_async_get_results(search, 0, &result, NULL)) {
return false; return false;
} }