fix: set TCP transport every time when setting the config

This commit is contained in:
Jackson Ming Hu
2024-07-01 15:29:38 +10:00
parent cac1552e62
commit c3c4cb9a2a
2 changed files with 3 additions and 4 deletions

View File

@ -336,7 +336,7 @@ typedef struct esp_mqtt_client_config_t {
int refresh_connection_after_ms; /*!< Refresh connection after this value (in milliseconds) */
bool disable_auto_reconnect; /*!< Client will reconnect to server (when errors/disconnect). Set
`disable_auto_reconnect=true` to disable */
esp_transport_handle_t transport; /*!< Custom transport handle to use. Warning: The transport should be valid during the client lifetime and is destroyed when esp_mqtt_client_destroy is called. */
esp_transport_handle_t transport; /*!< Custom transport handle to use, leave it NULL to allow MQTT client create or recreate its own. Warning: The transport should be valid during the client lifetime and is destroyed when esp_mqtt_client_destroy is called. */
struct ifreq * if_name; /*!< The name of interface for data to go through. Use the default interface without setting */
} network; /*!< Network configuration */
/**

View File

@ -526,9 +526,8 @@ esp_err_t esp_mqtt_set_config(esp_mqtt_client_handle_t client, const esp_mqtt_cl
} else {
client->config->reconnect_timeout_ms = MQTT_RECON_DEFAULT_MS;
}
if (config->network.transport) {
client->config->transport = config->network.transport;
}
client->config->transport = config->network.transport;
if (config->network.if_name) {
client->config->if_name = calloc(1, sizeof(struct ifreq) + 1);