/**
 * @file udp_sender.h
 * @brief UDP 发送器 - 用于 IMU 数据上报
 */

#ifndef UDP_SENDER_H
#define UDP_SENDER_H

#include <string>
#include <cstdint>

class UDPSender {
public:
    /**
     * @brief 构造函数
     * @param host 目标主机地址
     * @param port 目标端口
     */
    UDPSender(const std::string& host, int port);
    ~UDPSender();
    
    /**
     * @brief 发送数据
     * @param data 数据指针
     * @param size 数据大小
     * @return 发送的字节数，-1 表示失败
     */
    int send(const void* data, size_t size);

private:
    std::string m_host;
    int m_port;
    int m_socket_fd;
    void* m_sockaddr; // struct sockaddr_in* (避免头文件依赖)
};

#endif // UDP_SENDER_H
