From 2994c3f273a28540bf7632ca8c0fb808081b0e0a Mon Sep 17 00:00:00 2001 From: David Cermak Date: Sat, 25 Jan 2020 21:40:08 +0100 Subject: [PATCH] receive longer (websocket) data with standard tcp_transport reads closes IDF-1084 --- mqtt_client.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mqtt_client.c b/mqtt_client.c index d54281f..63dcd12 100644 --- a/mqtt_client.c +++ b/mqtt_client.c @@ -854,15 +854,13 @@ post_data_event: esp_mqtt_dispatch_event(client); if (msg_read_len < msg_total_len) { - // if total data is longer then actual -> read payload only size_t buf_len = client->mqtt_state.in_buffer_length; - esp_transport_handle_t transport = esp_transport_get_payload_transport_handle(client->transport); msg_data = (char *)client->mqtt_state.in_buffer; msg_topic = NULL; msg_topic_len = 0; msg_data_offset += msg_data_len; - msg_data_len = esp_transport_read(transport, (char *)client->mqtt_state.in_buffer, + msg_data_len = esp_transport_read(client-> transport, (char *)client->mqtt_state.in_buffer, msg_total_len - msg_read_len > buf_len ? buf_len : msg_total_len - msg_read_len, client->config->network_timeout_ms); if (msg_data_len <= 0) { @@ -968,8 +966,6 @@ static int mqtt_message_receive(esp_mqtt_client_handle_t client, int read_poll_t buf++; client->mqtt_state.in_buffer_read_len++; } - /* any further reading only the underlying payload */ - t = esp_transport_get_payload_transport_handle(t); if ((client->mqtt_state.in_buffer_read_len == 1) || ((client->mqtt_state.in_buffer_read_len < 6) && (*(buf - 1) & 0x80))) { do {