xrtSshReplyQueueInit
初始化调用方存储支持的 reply FIFO;零容量允许 Tokens 为 NULL。
bool xrtSshReplyQueueInit( xsshreplyqueue* pQueue, uint64* pTokens, size_t iCapacity );
| 参数 | 说明 |
|---|---|
| xsshreplyqueue* pQueue | 队列对象 |
| uint64* pTokens | Tokens 参数 |
| size_t iCapacity | 容量 |
返回:初始化调用方存储支持的 reply FIFO;零容量允许 Tokens 为 NULL。
示例已编译验证
sshreplyqueueinit obj; xrtSshReplyQueueInit(&obj, pQueue, pTokens, iCapacity);
xrtSshReplyQueueCount
返回当前等待回复的请求数量;无效状态返回零。
size_t xrtSshReplyQueueCount(const xsshreplyqueue* pQueue);
| 参数 | 说明 |
|---|---|
| const xsshreplyqueue* pQueue | 队列对象 |
返回:返回当前等待回复的请求数量;无效状态返回零。
示例已编译验证
/* 返回当前等待回复的请求数量;无效状态返回零。 */ result = xrtSshReplyQueueCount(pQueue);
xrtSshReplyQueuePush
在 want-reply 请求可靠排队后追加调用方 token。
xsshcode xrtSshReplyQueuePush( xsshreplyqueue* pQueue, uint64 iToken );
| 参数 | 说明 |
|---|---|
| xsshreplyqueue* pQueue | 队列对象 |
| uint64 iToken | 令牌 |
返回:在 want-reply 请求可靠排队后追加调用方 token。
示例已编译验证
/* 在 want-reply 请求可靠排队后追加调用方 token。 */ result = xrtSshReplyQueuePush(pQueue, iToken);
xrtSshReplyQueueFront
查看队首 token,不消费对应回复位置。
xsshcode xrtSshReplyQueueFront( const xsshreplyqueue* pQueue, uint64* pToken );
| 参数 | 说明 |
|---|---|
| const xsshreplyqueue* pQueue | 队列对象 |
| uint64* pToken | 令牌 |
返回:查看队首 token,不消费对应回复位置。
示例已编译验证
/* 查看队首 token,不消费对应回复位置。 */ result = xrtSshReplyQueueFront(pQueue, pToken);
xrtSshReplyQueuePop
收到 success/failure 时按协议顺序消费队首 token。
xsshcode xrtSshReplyQueuePop( xsshreplyqueue* pQueue, uint64* pToken );
| 参数 | 说明 |
|---|---|
| xsshreplyqueue* pQueue | 队列对象 |
| uint64* pToken | 令牌 |
返回:收到 success/failure 时按协议顺序消费队首 token。
示例已编译验证
/* 收到 success/failure 时按协议顺序消费队首 token。 */ result = xrtSshReplyQueuePop(pQueue, pToken);
xrtSshReplyQueueRebind
将未完成 token 按顺序迁移到更大的不重叠调用方存储。
xsshcode xrtSshReplyQueueRebind( xsshreplyqueue* pQueue, uint64* pTokens, size_t iCapacity );
| 参数 | 说明 |
|---|---|
| xsshreplyqueue* pQueue | 队列对象 |
| uint64* pTokens | Tokens 参数 |
| size_t iCapacity | 容量 |
返回:将未完成 token 按顺序迁移到更大的不重叠调用方存储。
示例已编译验证
/* 将未完成 token 按顺序迁移到更大的不重叠调用方存储。 */ result = xrtSshReplyQueueRebind(pQueue, pTokens, iCapacity);