XWOS API
4.0
XWOS C/C++ API参考手册
|
XWSSC端口代理 更多...
#include <XwsscPortProxy.hxx>
Public 成员函数 | |
XwsscPortProxy (struct xwssc *xwssc, xwu8_t port, xwu8_t default_priority, xwu8_t default_qos) | |
XwsscPortProxy ()=delete | |
~XwsscPortProxy () | |
xwer_t | write (const xwu8_t data[], xwsz_t *size) |
发送数据,并同步等待发送结果 | |
xwer_t | write (const xwu8_t data[], xwsz_t *size, xwu8_t pri, xwu8_t qos) |
发送数据,并同步等待发送结果 | |
xwer_t | write (const xwu8_t data[], xwsz_t *size, xwtm_t to) |
发送数据,并等待发送结果 | |
xwer_t | write (const xwu8_t data[], xwsz_t *size, xwu8_t pri, xwu8_t qos, xwtm_t to) |
发送数据,并在限定的时间内等待发送结果 | |
xwer_t | asyncWrite (const xwu8_t data[], xwsz_t *size, xwssc_txh_t *txhbuf) |
异步发送数据 | |
xwer_t | asyncWrite (const xwu8_t data[], xwsz_t *size, xwu8_t pri, xwu8_t qos, xwssc_txh_t *txhbuf) |
异步发送数据 | |
xwer_t | abortAsyncWrite (xwssc_txh_t txh) |
中断异步发送 | |
enum xwssc_carrier_state_em | getAsyncWriteState (xwssc_txh_t txh) |
获取异步发送状态 | |
xwer_t | read (xwu8_t rxbuf[], xwsz_t *size) |
接收数据,若数据为空,就无限等待 | |
xwer_t | read (xwu8_t rxbuf[], xwsz_t *size, xwu8_t *qos, xwtm_t to) |
接收数据,若数据为空,就限时等待 | |
xwer_t | tryRead (xwu8_t rxbuf[], xwsz_t *size) |
尝试接收消息,若接收队列为空,立即返回错误码 | |
xwer_t | tryRead (xwu8_t rxbuf[], xwsz_t *size, xwu8_t *qos) |
尝试接收消息,若接收队列为空,立即返回错误码 | |
Protected 成员函数 | |
virtual void | onAsyncWrited (xwssc_txh_t txh, xwer_t rc) |
静态 Private 成员函数 | |
static void | sOnAsyncWrited (struct xwssc *xwssc, xwssc_txh_t txh, xwer_t rc, void *arg) |
Private 属性 | |
struct xwssc * | mProxy |
xwu8_t | mPort |
xwu8_t | mDefaultPriority |
xwu8_t | mDefaultQos |
XWSSC端口代理
在文件 XwsscPortProxy.hxx 第 32 行定义.
xwisc::XwsscPortProxy::XwsscPortProxy | ( | struct xwssc * | xwssc, |
xwu8_t | port, | ||
xwu8_t | default_priority, | ||
xwu8_t | default_qos | ||
) |
在文件 XwsscPortProxy.cxx 第 23 行定义.
|
delete |
|
inline |
在文件 XwsscPortProxy.hxx 第 44 行定义.
xwer_t xwisc::XwsscPortProxy::abortAsyncWrite | ( | xwssc_txh_t | txh | ) |
中断异步发送
[in] | txh | 发送句柄 |
XWOK | 没有错误 |
-EFAULT | 空指针 |
-EACCES | 消息帧已经正在发送 |
如果消息已经被 XWSSC TX 线程选中,发送不可被中断; 仅当消息还在就绪队列中,未被选中发送时才可中断。
在文件 XwsscPortProxy.cxx 第 69 行定义.
xwer_t xwisc::XwsscPortProxy::asyncWrite | ( | const xwu8_t | data[], |
xwsz_t * | size, | ||
xwssc_txh_t * | txhbuf | ||
) |
异步发送数据
[in] | data | 数据缓冲区的指针 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[out] | txhbuf | 指向缓冲区的指针,通过此缓冲区返回发送句柄 |
发送结果通过虚函数 onAsyncWrited()
进行通知。用户需要继承本类, 重新定义此虚函数来获取发送结果。
在文件 XwsscPortProxy.cxx 第 54 行定义.
xwer_t xwisc::XwsscPortProxy::asyncWrite | ( | const xwu8_t | data[], |
xwsz_t * | size, | ||
xwu8_t | pri, | ||
xwu8_t | qos, | ||
xwssc_txh_t * | txhbuf | ||
) |
异步发送数据
[in] | data | 数据缓冲区的指针 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[in] | pri | 用户数据的优先级 |
[in] | qos | 服务质量,取值范围: xwssc_msg_qos_em |
[out] | txhbuf | 指向缓冲区的指针,通过此缓冲区返回发送句柄 |
发送结果通过虚函数 onAsyncWrited()
进行通知。用户需要继承本类, 重新定义此虚函数来获取发送结果。
在文件 XwsscPortProxy.cxx 第 61 行定义.
|
inline |
获取异步发送状态
[in] | txh | 发送句柄 |
在文件 XwsscPortProxy.hxx 第 190 行定义.
|
protectedvirtual |
< 去除未使用变量的警告
< 去除未使用变量的警告
在文件 XwsscPortProxy.cxx 第 94 行定义.
接收数据,若数据为空,就无限等待
[out] | rxbuf | 指向缓冲区的指针,此缓冲区用于接收消息 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
XWOK | 没有错误 |
-EFAULT | 空指针 |
-ENODEV | 端口号超出范围 |
-EPERM | XWSSC未启动 |
-ETIMEDOUT | 超时 |
在文件 XwsscPortProxy.cxx 第 74 行定义.
接收数据,若数据为空,就限时等待
[out] | rxbuf | 指向缓冲区的指针,此缓冲区用于接收消息 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[out] | qos | 返回消息的QoS的缓冲区,可为 nullptr 表示不关心QoS |
XWOK | 没有错误 |
-EFAULT | 空指针 |
-ENODEV | 端口号超出范围 |
-EPERM | XWSSC未启动 |
-ETIMEDOUT | 超时 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 在文件 XwsscPortProxy.cxx 第 79 行定义.
|
staticprivate |
< 去除未使用变量的警告
在文件 XwsscPortProxy.cxx 第 101 行定义.
尝试接收消息,若接收队列为空,立即返回错误码
[out] | rxbuf | 指向缓冲区的指针,此缓冲区用于接收消息 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
XWOK | 没有错误 |
-EFAULT | 空指针 |
-ENODEV | 端口号超出范围 |
-ENODATA | 接收队列为空 |
-EPERM | XWSSC未启动 |
在文件 XwsscPortProxy.cxx 第 84 行定义.
尝试接收消息,若接收队列为空,立即返回错误码
[out] | rxbuf | 指向缓冲区的指针,此缓冲区用于接收消息 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[out] | qos | 返回消息的QoS的缓冲区,可为 nullptr 表示不关心QoS |
XWOK | 没有错误 |
-EFAULT | 空指针 |
-ENODEV | 端口号超出范围 |
-ENODATA | 接收队列为空 |
-EPERM | XWSSC未启动 |
在文件 XwsscPortProxy.cxx 第 89 行定义.
发送数据,并同步等待发送结果
[in] | data | 数据缓冲区的指针 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
XWOK | 没有错误 |
-EFAULT | 空指针 |
-E2BIG | 数据太长 |
-ENODEV | 端口号超出范围 |
-EINVAL | qos错误 |
-ENOBUFS | 帧槽被使用完 |
-EPERM | XWSSC未启动 |
在文件 XwsscPortProxy.cxx 第 32 行定义.
发送数据,并等待发送结果
[in] | data | 数据缓冲区的指针 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[in] | to | 期望唤醒的时间点 |
XWOK | 没有错误 |
-EFAULT | 空指针 |
-E2BIG | 数据太长 |
-ENODEV | 端口号超出范围 |
-EINVAL | qos错误 |
-ENOBUFS | 帧槽被使用完 |
-EPERM | XWSSC未启动 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 在文件 XwsscPortProxy.cxx 第 43 行定义.
发送数据,并同步等待发送结果
[in] | data | 数据缓冲区的指针 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[in] | pri | 用户数据的优先级 |
[in] | qos | 服务质量,取值范围: xwssc_msg_qos_em |
XWOK | 没有错误 |
-EFAULT | 空指针 |
-E2BIG | 数据太长 |
-ENODEV | 端口号超出范围 |
-EINVAL | qos错误 |
-ENOBUFS | 帧槽被使用完 |
-EPERM | XWSSC未启动 |
在文件 XwsscPortProxy.cxx 第 37 行定义.
xwer_t xwisc::XwsscPortProxy::write | ( | const xwu8_t | data[], |
xwsz_t * | size, | ||
xwu8_t | pri, | ||
xwu8_t | qos, | ||
xwtm_t | to | ||
) |
发送数据,并在限定的时间内等待发送结果
[in] | data | 数据缓冲区的指针 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[in] | pri | 用户数据的优先级 |
[in] | qos | 服务质量,取值范围: xwssc_msg_qos_em |
[in] | to | 期望唤醒的时间点 |
XWOK | 没有错误 |
-EFAULT | 空指针 |
-E2BIG | 数据太长 |
-ENODEV | 端口号超出范围 |
-EINVAL | qos错误 |
-ENOBUFS | 帧槽被使用完 |
-EPERM | XWSSC未启动 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 在文件 XwsscPortProxy.cxx 第 48 行定义.
|
private |
默认发送优先级
在文件 XwsscPortProxy.hxx 第 37 行定义.
|
private |
默认Qos
在文件 XwsscPortProxy.hxx 第 38 行定义.
|
private |
端口
在文件 XwsscPortProxy.hxx 第 36 行定义.
|
private |
在文件 XwsscPortProxy.hxx 第 35 行定义.