
---@class mqtt_connector_copas*: mqtt_connector
---@type mqtt_connector_copas*
local M = {}

--- 打开网络连接。
---@param conn mqtt_connection* 连接参数和状态。
---@return boolean ok 是否成功。
---@return string? errMsg 错误信息。
function M.connect(conn) end

--- 关闭网络连接。
---@param conn mqtt_connection* 连接状态。
function M.shutdown(conn) end

--- 发送数据。
---@param conn mqtt_connection* 连接状态。
---@param data string 数据。
---@param i? integer 起始位置。
---@param j? integer 结束位置。
---@return integer|nil nextIndex 下一次发送位置。
---@return string? errMsg 错误信息。
function M.send(conn, data, i, j) end

--- 接收指定长度的数据。
---@param conn mqtt_connection* 连接状态。
---@param size integer 字节数。
---@return string|nil data 数据。
---@return string? errMsg 错误信息。
function M.receive(conn, size) end

--- 设置超时时间。
---@param conn mqtt_connection* 连接状态。
---@param timeout? number 超时时间。
function M.settimeout(conn, timeout) end

return M
