From 3330b96b10fc05287c2d3f52057e4ba453576b9a Mon Sep 17 00:00:00 2001 From: Suren Gabrielyan Date: Mon, 31 Oct 2022 20:17:09 +0400 Subject: [PATCH] websocket: make `esp_websocket_client_send_with_opcode` a public API --- .../esp_websocket_client/esp_websocket_client.c | 5 +---- .../esp_websocket_client/idf_component.yml | 2 +- .../include/esp_websocket_client.h | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/components/esp_websocket_client/esp_websocket_client.c b/components/esp_websocket_client/esp_websocket_client.c index 27e19ba9d..a1164c95b 100644 --- a/components/esp_websocket_client/esp_websocket_client.c +++ b/components/esp_websocket_client/esp_websocket_client.c @@ -10,7 +10,6 @@ #include "esp_transport.h" #include "esp_transport_tcp.h" #include "esp_transport_ssl.h" -#include "esp_transport_ws.h" /* using uri parser */ #include "http_parser.h" #include "freertos/task.h" @@ -693,8 +692,6 @@ static esp_err_t esp_websocket_client_recv(esp_websocket_client_handle_t client) return ESP_OK; } -static int esp_websocket_client_send_with_opcode(esp_websocket_client_handle_t client, ws_transport_opcodes_t opcode, const uint8_t *data, int len, TickType_t timeout); - static int esp_websocket_client_send_close(esp_websocket_client_handle_t client, int code, const char *additional_data, int total_len, TickType_t timeout); static void esp_websocket_client_task(void *pv) @@ -960,7 +957,7 @@ int esp_websocket_client_send_bin(esp_websocket_client_handle_t client, const ch return esp_websocket_client_send_with_opcode(client, WS_TRANSPORT_OPCODES_BINARY, (const uint8_t *)data, len, timeout); } -static int esp_websocket_client_send_with_opcode(esp_websocket_client_handle_t client, ws_transport_opcodes_t opcode, const uint8_t *data, int len, TickType_t timeout) +int esp_websocket_client_send_with_opcode(esp_websocket_client_handle_t client, ws_transport_opcodes_t opcode, const uint8_t *data, int len, TickType_t timeout) { int need_write = len; int wlen = 0, widx = 0; diff --git a/components/esp_websocket_client/idf_component.yml b/components/esp_websocket_client/idf_component.yml index 86d3cc356..56d7f7e86 100644 --- a/components/esp_websocket_client/idf_component.yml +++ b/components/esp_websocket_client/idf_component.yml @@ -1,4 +1,4 @@ -version: "0.0.3" +version: "0.0.4" description: esp websocket client dependencies: idf: diff --git a/components/esp_websocket_client/include/esp_websocket_client.h b/components/esp_websocket_client/include/esp_websocket_client.h index 03bca3b9d..1d2a8d7c9 100644 --- a/components/esp_websocket_client/include/esp_websocket_client.h +++ b/components/esp_websocket_client/include/esp_websocket_client.h @@ -15,6 +15,7 @@ #include "esp_err.h" #include "esp_event.h" #include +#include "esp_transport_ws.h" #ifdef __cplusplus extern "C" { @@ -193,6 +194,21 @@ int esp_websocket_client_send_bin(esp_websocket_client_handle_t client, const ch */ int esp_websocket_client_send_text(esp_websocket_client_handle_t client, const char *data, int len, TickType_t timeout); +/** + * @brief Write opcode data to the WebSocket connection + * + * @param[in] client The client + * @param[in] opcode The opcode + * @param[in] data The data + * @param[in] len The length + * @param[in] timeout Write data timeout in RTOS ticks + * + * @return + * - Number of data was sent + * - (-1) if any errors + */ +int esp_websocket_client_send_with_opcode(esp_websocket_client_handle_t client, ws_transport_opcodes_t opcode, const uint8_t *data, int len, TickType_t timeout); + /** * @brief Close the WebSocket connection in a clean way *