xrtSshChannelWindowInit
初始化远端发送额度和本地接收额度,不分配缓冲。
bool xrtSshChannelWindowInit( xsshchannelwindow* pWindow, uint32 iSendWindow, uint32 iSendMaxPacket, uint32 iReceiveWindow, uint32 iReceiveMaxPacket, uint32 iAdjustThreshold );
| 参数 | 说明 |
|---|---|
| xsshchannelwindow* pWindow | 窗口 |
| uint32 iSendWindow | SendWndow 参数 |
| uint32 iSendMaxPacket | SendMaxPacket 参数 |
| uint32 iReceiveWindow | ReceveWndow 参数 |
| uint32 iReceiveMaxPacket | ReceveMaxPacket 参数 |
| uint32 iAdjustThreshold | AdjustThreshold 参数 |
返回:初始化远端发送额度和本地接收额度,不分配缓冲。
示例已编译验证
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);