Reduce DataLink latency

This commit is contained in:
2026-01-27 22:16:24 -05:00
parent 663a7ef262
commit fc25c026b2
25 changed files with 801 additions and 757 deletions

View File

@@ -6,22 +6,22 @@
#define TCPSERVER_H
#include <memory>
#include <vector>
#include <unordered_set>
#include <vector>
#include "freertos/FreeRTOS.h"
#include "IRPCServer.h"
#include "PtrQueue.h"
#include "BlockingQueue.h"
#include "freertos/FreeRTOS.h"
class TCPServer final : public IRPCServer {
public:
TCPServer(int port, const std::shared_ptr<PtrQueue<std::vector<uint8_t>>>& rx_queue);
public:
TCPServer(int port, const std::shared_ptr<BlockingQueue<std::unique_ptr<std::vector<uint8_t>>>> &rx_queue);
~TCPServer() override;
void startup() override;
void shutdown() override;
int send_msg(char* buffer, uint32_t length) const override;
int send_msg(uint8_t* buffer, size_t size) const override;
private:
private:
bool authenticate_client(int client_sock);
static bool is_network_connected();
@@ -34,7 +34,7 @@ private:
TaskHandle_t m_task;
TaskHandle_t m_rx_task;
std::shared_ptr<PtrQueue<std::vector<uint8_t>>> m_rx_queue;
std::shared_ptr<BlockingQueue<std::unique_ptr<std::vector<uint8_t>>>> m_rx_queue;
SemaphoreHandle_t m_mutex;
std::unordered_set<int> m_clients;