跳转到内容

API 总览与约定

#include "easytier-esp.hpp"
namespace et {
class Inst final {
public:
explicit Inst(std::string_view toml, const RuntimeOptions& options = {}) noexcept;
~Inst() noexcept;
Inst(const Inst&) = delete;
Inst& operator=(const Inst&) = delete;
Inst(Inst&&) = delete;
Inst& operator=(Inst&&) = delete;
[[nodiscard]] bool valid() const noexcept;
[[nodiscard]] esp_err_t last_error() const noexcept;
esp_err_t start() noexcept;
esp_err_t connect() noexcept;
esp_err_t disconnect() noexcept;
esp_err_t get_status(Status& out) const noexcept;
[[nodiscard]] Settings get_config_info() const noexcept;
esp_err_t stop(uint32_t timeout_ms = 5000) noexcept;
};
}
约定说明
RAII构造即初始化;析构自动停止并释放
无异常构造不能返回错误码,失败用 valid() / last_error() 查询
无 RTTI组件源码关闭 RTTI
noexcept公开接口均为 noexcept
错误码返回 esp_err_t;运行期错误另见 Status::last_error
配置只走 TOML没有编程式 setter
不可拷贝/移动避免生命周期与资源所有权歧义
多实例每个实例独立;构造需串行
类型用途
Inst运行实例
Settings生效设置快照(get_config_info() 返回)
PeerEndpoint入口 host/port
State实例状态枚举
EventType事件类型枚举
Status状态快照
Event一次事件
EventCallback事件回调函数指针
RuntimeOptions运行期选项(回调、user_data)
常量值含义
kMinMtu576MTU 下限
kDefaultMtu1380MTU 上限与缺省值
kDefaultDhcpSubnet10.126.126.0DHCP 回落子网
kDefaultDhcpPrefix24DHCP 回落前缀
kDefaultHostnameEspressifhostname 回退
kDefaultNetworkNamedefault网络名缺省

当前 API 对应组件 0.0.2。0.x 阶段不承诺二进制/源码完全兼容;升级前请看仓库的 CHANGELOG.md,并遵循下面的 API 版本策略。

  • 0.x:允许不兼容变更,但会在 CHANGELOG 标注;
  • 公开头是唯一契约,src/ 下的类型不保证稳定;
  • 新增字段优先追加,避免改变既有字段语义;
  • 弃用先文档标注,再在下一个 minor 移除。