Format TCPServer

This commit is contained in:
2026-01-14 20:58:19 -05:00
parent 64f0b4f91a
commit 5f31171fe6

View File

@@ -23,8 +23,7 @@
// - authenticate (don't just return true from the auth function) // - authenticate (don't just return true from the auth function)
// - tx from board // - tx from board
TCPServer::TCPServer( TCPServer::TCPServer(const int port,
const int port,
const std::shared_ptr<PtrQueue<std::vector<uint8_t>>> &rx_queue) { const std::shared_ptr<PtrQueue<std::vector<uint8_t>>> &rx_queue) {
this->m_port = port; this->m_port = port;
this->m_mutex = xSemaphoreCreateMutex(); this->m_mutex = xSemaphoreCreateMutex();
@@ -48,8 +47,7 @@ void TCPServer::startup() {
return; return;
} }
xTaskCreate(tcp_server_task, "tcp_accept_server", 3072, this, 5, xTaskCreate(tcp_server_task, "tcp_accept_server", 3072, this, 5, &this->m_task);
&this->m_task);
xTaskCreate(socket_monitor_thread, "tcp_rx", 4096, this, 5, &this->m_rx_task); xTaskCreate(socket_monitor_thread, "tcp_rx", 4096, this, 5, &this->m_rx_task);
} }
@@ -91,8 +89,7 @@ void TCPServer::shutdown() {
} }
constexpr int opt = 1; constexpr int opt = 1;
setsockopt(that->m_server_sock, SOL_SOCKET, SO_REUSEADDR, &opt, setsockopt(that->m_server_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
sizeof(opt));
ESP_LOGI(TAG, "Socket created"); ESP_LOGI(TAG, "Socket created");
sockaddr_in server_addr = { sockaddr_in server_addr = {
@@ -104,8 +101,7 @@ void TCPServer::shutdown() {
}, },
}; };
int err = bind(that->m_server_sock, int err = bind(that->m_server_sock, reinterpret_cast<struct sockaddr *>(&server_addr),
reinterpret_cast<struct sockaddr *>(&server_addr),
sizeof(server_addr)); sizeof(server_addr));
if (0 != err) { if (0 != err) {
ESP_LOGE(TAG, "Socket unable to bind: errno %d\n", errno); ESP_LOGE(TAG, "Socket unable to bind: errno %d\n", errno);
@@ -129,8 +125,7 @@ void TCPServer::shutdown() {
while (is_network_connected()) { while (is_network_connected()) {
sockaddr_in client_addr{}; sockaddr_in client_addr{};
socklen_t addr_len = sizeof(client_addr); socklen_t addr_len = sizeof(client_addr);
int client_sock = int client_sock = accept(that->m_server_sock,
accept(that->m_server_sock,
reinterpret_cast<struct sockaddr *>(&client_addr), &addr_len); reinterpret_cast<struct sockaddr *>(&client_addr), &addr_len);
if (client_sock < 0) { if (client_sock < 0) {
ESP_LOGE(TAG, "Unable to accept TCP connection: errno %d\n", errno); ESP_LOGE(TAG, "Unable to accept TCP connection: errno %d\n", errno);
@@ -142,14 +137,10 @@ void TCPServer::shutdown() {
ESP_LOGE(TAG, "Client failed authentication\n"); ESP_LOGE(TAG, "Client failed authentication\n");
} }
setsockopt(client_sock, SOL_SOCKET, SO_KEEPALIVE, &keepAlive, setsockopt(client_sock, SOL_SOCKET, SO_KEEPALIVE, &keepAlive, sizeof(int));
sizeof(int)); setsockopt(client_sock, IPPROTO_TCP, TCP_KEEPIDLE, &keepIdle, sizeof(int));
setsockopt(client_sock, IPPROTO_TCP, TCP_KEEPIDLE, &keepIdle, setsockopt(client_sock, IPPROTO_TCP, TCP_KEEPINTVL, &keepInterval, sizeof(int));
sizeof(int)); setsockopt(client_sock, IPPROTO_TCP, TCP_KEEPCNT, &keepCount, sizeof(int));
setsockopt(client_sock, IPPROTO_TCP, TCP_KEEPINTVL, &keepInterval,
sizeof(int));
setsockopt(client_sock, IPPROTO_TCP, TCP_KEEPCNT, &keepCount,
sizeof(int));
xSemaphoreTake(that->m_mutex, portMAX_DELAY); xSemaphoreTake(that->m_mutex, portMAX_DELAY);
that->m_clients.emplace(client_sock); that->m_clients.emplace(client_sock);
@@ -196,8 +187,7 @@ void TCPServer::shutdown() {
uint32_t msg_size = 0; uint32_t msg_size = 0;
if (int len = recv(sock, &msg_size, 4, MSG_WAITALL); len < 0) { if (int len = recv(sock, &msg_size, 4, MSG_WAITALL); len < 0) {
ESP_LOGE(TAG, ESP_LOGE(TAG, "Error occurred during receiving msg length: errno %d\n",
"Error occurred during receiving msg length: errno %d\n",
errno); errno);
to_remove.emplace_back(sock); to_remove.emplace_back(sock);
continue; continue;
@@ -215,8 +205,7 @@ void TCPServer::shutdown() {
auto buffer = std::make_unique<std::vector<uint8_t>>(); auto buffer = std::make_unique<std::vector<uint8_t>>();
buffer->resize(MIN(MAX_RX_BUFFER_SIZE, msg_size)); buffer->resize(MIN(MAX_RX_BUFFER_SIZE, msg_size));
if (int len = recv(sock, buffer->data(), msg_size, MSG_WAITALL); if (int len = recv(sock, buffer->data(), msg_size, MSG_WAITALL); len < 0) {
len < 0) {
ESP_LOGE(TAG, "Error occurred during receiving: errno %d\n", errno); ESP_LOGE(TAG, "Error occurred during receiving: errno %d\n", errno);
to_remove.emplace_back(sock); to_remove.emplace_back(sock);
} else if (0 == len) { } else if (0 == len) {