|
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 行定义.