xrtSshChannelWindowInit

初始化远端发送额度和本地接收额度,不分配缓冲。

bool xrtSshChannelWindowInit( xsshchannelwindow* pWindow, uint32 iSendWindow, uint32 iSendMaxPacket, uint32 iReceiveWindow, uint32 iReceiveMaxPacket, uint32 iAdjustThreshold );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iSendWindowSendWndow 参数
uint32 iSendMaxPacketSendMaxPacket 参数
uint32 iReceiveWindowReceveWndow 参数
uint32 iReceiveMaxPacketReceveMaxPacket 参数
uint32 iAdjustThresholdAdjustThreshold 参数
返回:初始化远端发送额度和本地接收额度,不分配缓冲。

示例已编译验证

sshchannelwindowinit obj;
xrtSshChannelWindowInit(&obj, pWindow, iSendWindow, iSendMaxPacket, iReceiveWindow, iReceiveMaxPacket, iAdjustThreshold);

xrtSshChannelSendLimit

返回下一条普通或扩展数据消息可发送的最大字节数。

uint32 xrtSshChannelSendLimit(const xsshchannelwindow* pWindow);
参数说明
const xsshchannelwindow* pWindow窗口
返回:返回下一条普通或扩展数据消息可发送的最大字节数。

示例已编译验证

/* 返回下一条普通或扩展数据消息可发送的最大字节数。 */
result = xrtSshChannelSendLimit(pWindow);

xrtSshChannelSendCommit

提交已排队的数据字节,并扣减远端窗口。

xsshcode xrtSshChannelSendCommit( xsshchannelwindow* pWindow, uint32 iBytes );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iBytes字节数
返回:提交已排队的数据字节,并扣减远端窗口。

示例已编译验证

/* 提交已排队的数据字节,并扣减远端窗口。 */
result = xrtSshChannelSendCommit(pWindow, iBytes);

xrtSshChannelSendAdjust

应用远端 WINDOW_ADJUST,溢出视为协议错误。

xsshcode xrtSshChannelSendAdjust( xsshchannelwindow* pWindow, uint32 iBytes );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iBytes字节数
返回:应用远端 WINDOW_ADJUST,溢出视为协议错误。

示例已编译验证

/* 应用远端 WINDOW_ADJUST,溢出视为协议错误。 */
result = xrtSshChannelSendAdjust(pWindow, iBytes);

xrtSshChannelReceiveCommit

接收一条数据消息并校验本地窗口与最大包限制。

xsshcode xrtSshChannelReceiveCommit( xsshchannelwindow* pWindow, uint32 iBytes );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iBytes字节数
返回:接收一条数据消息并校验本地窗口与最大包限制。

示例已编译验证

/* 接收一条数据消息并校验本地窗口与最大包限制。 */
result = xrtSshChannelReceiveCommit(pWindow, iBytes);

xrtSshChannelReceiveConsume

标记应用已经消费的接收字节,使额度可稍后返还。

xsshcode xrtSshChannelReceiveConsume( xsshchannelwindow* pWindow, uint32 iBytes );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iBytes字节数
返回:标记应用已经消费的接收字节,使额度可稍后返还。

示例已编译验证

/* 标记应用已经消费的接收字节,使额度可稍后返还。 */
result = xrtSshChannelReceiveConsume(pWindow, iBytes);

xrtSshChannelReceiveAdjustReady

判断已消费额度是否达到返还阈值或本地窗口已经耗尽。

bool xrtSshChannelReceiveAdjustReady( const xsshchannelwindow* pWindow );
参数说明
const xsshchannelwindow* pWindow窗口
返回:判断已消费额度是否达到返还阈值或本地窗口已经耗尽。

示例已编译验证

/* 判断已消费额度是否达到返还阈值或本地窗口已经耗尽。 */
result = xrtSshChannelReceiveAdjustReady(pWindow);

xrtSshChannelReceiveAdjustLimit

返回当前单条 WINDOW_ADJUST 可安全返还的最大额度。

uint32 xrtSshChannelReceiveAdjustLimit( const xsshchannelwindow* pWindow );
参数说明
const xsshchannelwindow* pWindow窗口
返回:返回当前单条 WINDOW_ADJUST 可安全返还的最大额度。

示例已编译验证

/* 返回当前单条 WINDOW_ADJUST 可安全返还的最大额度。 */
result = xrtSshChannelReceiveAdjustLimit(pWindow);

xrtSshChannelReceiveAdjustCommit

在 WINDOW_ADJUST 已可靠排队后提交返还额度。

xsshcode xrtSshChannelReceiveAdjustCommit( xsshchannelwindow* pWindow, uint32 iBytes );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iBytes字节数
返回:在 WINDOW_ADJUST 已可靠排队后提交返还额度。

示例已编译验证

/* 在 WINDOW_ADJUST 已可靠排队后提交返还额度。 */
result = xrtSshChannelReceiveAdjustCommit(pWindow, iBytes);

xrtSshChannelReceiveGrantCommit

提交独立于已消费字节的新接收额度,用于动态扩容或零窗口恢复。

xsshcode xrtSshChannelReceiveGrantCommit( xsshchannelwindow* pWindow, uint32 iBytes );
参数说明
xsshchannelwindow* pWindow窗口
uint32 iBytes字节数
返回:提交独立于已消费字节的新接收额度,用于动态扩容或零窗口恢复。

示例已编译验证

/* 提交独立于已消费字节的新接收额度,用于动态扩容或零窗口恢复。 */
result = xrtSshChannelReceiveGrantCommit(pWindow, iBytes);