mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-16 20:12:13 +02:00
esp_websocket_client: Expose frame fin flag in websocket event
This commit is contained in:
@ -109,6 +109,7 @@ struct esp_websocket_client {
|
|||||||
char *rx_buffer;
|
char *rx_buffer;
|
||||||
char *tx_buffer;
|
char *tx_buffer;
|
||||||
int buffer_size;
|
int buffer_size;
|
||||||
|
bool last_fin;
|
||||||
ws_transport_opcodes_t last_opcode;
|
ws_transport_opcodes_t last_opcode;
|
||||||
int payload_len;
|
int payload_len;
|
||||||
int payload_offset;
|
int payload_offset;
|
||||||
@ -133,6 +134,7 @@ static esp_err_t esp_websocket_client_dispatch_event(esp_websocket_client_handle
|
|||||||
event_data.user_context = client->config->user_context;
|
event_data.user_context = client->config->user_context;
|
||||||
event_data.data_ptr = data;
|
event_data.data_ptr = data;
|
||||||
event_data.data_len = data_len;
|
event_data.data_len = data_len;
|
||||||
|
event_data.fin = client->last_fin;
|
||||||
event_data.op_code = client->last_opcode;
|
event_data.op_code = client->last_opcode;
|
||||||
event_data.payload_len = client->payload_len;
|
event_data.payload_len = client->payload_len;
|
||||||
event_data.payload_offset = client->payload_offset;
|
event_data.payload_offset = client->payload_offset;
|
||||||
@ -548,6 +550,7 @@ static esp_err_t esp_websocket_client_recv(esp_websocket_client_handle_t client)
|
|||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
client->payload_len = esp_transport_ws_get_read_payload_len(client->transport);
|
client->payload_len = esp_transport_ws_get_read_payload_len(client->transport);
|
||||||
|
client->last_fin = esp_transport_ws_get_fin_flag(client->transport);
|
||||||
client->last_opcode = esp_transport_ws_get_read_opcode(client->transport);
|
client->last_opcode = esp_transport_ws_get_read_opcode(client->transport);
|
||||||
|
|
||||||
if (rlen == 0 && client->last_opcode == WS_TRANSPORT_OPCODES_NONE ) {
|
if (rlen == 0 && client->last_opcode == WS_TRANSPORT_OPCODES_NONE ) {
|
||||||
|
@ -43,6 +43,7 @@ typedef enum {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
const char *data_ptr; /*!< Data pointer */
|
const char *data_ptr; /*!< Data pointer */
|
||||||
int data_len; /*!< Data length */
|
int data_len; /*!< Data length */
|
||||||
|
bool fin; /*!< Fin flag */
|
||||||
uint8_t op_code; /*!< Received opcode */
|
uint8_t op_code; /*!< Received opcode */
|
||||||
esp_websocket_client_handle_t client; /*!< esp_websocket_client_handle_t context */
|
esp_websocket_client_handle_t client; /*!< esp_websocket_client_handle_t context */
|
||||||
void *user_context; /*!< user_data context, from esp_websocket_client_config_t user_data */
|
void *user_context; /*!< user_data context, from esp_websocket_client_config_t user_data */
|
||||||
|
Reference in New Issue
Block a user