xrtSshSessionReaderInit

使用与 TCP 会话相同的 Worker 缓冲池初始化空动态读取器。

bool xrtSshSessionReaderInit( xsshsessionreader* pReader, xnetbufpool* pPool, xsshsessiontcp* pSession );
参数说明
xsshsessionreader* pReader读取器
xnetbufpool* pPool池
xsshsessiontcp* pSession会话对象
返回:使用与 TCP 会话相同的 Worker 缓冲池初始化空动态读取器。

示例已编译验证

sshsessionreaderinit obj;
xrtSshSessionReaderInit(&obj, pReader, pPool, pSession);

xrtSshSessionReaderClear

中止未决读取并释放动态块;不会清理借用的 TCP 会话。

void xrtSshSessionReaderClear(xsshsessionreader* pReader);
参数说明
xsshsessionreader* pReader读取器
返回:中止未决读取并释放动态块;不会清理借用的 TCP 会话。

示例已编译验证

/* 中止未决读取并释放动态块;不会清理借用的 TCP 会话。 */
result = xrtSshSessionReaderClear(pReader);

xrtSshSessionReaderSession

返回读取器绑定的 TCP 会话;无效对象返回空。

xsshsessiontcp* xrtSshSessionReaderSession( xsshsessionreader* pReader );
参数说明
xsshsessionreader* pReader读取器
返回:返回读取器绑定的 TCP 会话;无效对象返回空。

示例已编译验证

/* 返回读取器绑定的 TCP 会话;无效对象返回空。 */
result = xrtSshSessionReaderSession(pReader);

xrtSshSessionReaderSessionConst

返回只读 TCP 会话;无效对象返回空。

const xsshsessiontcp* xrtSshSessionReaderSessionConst( const xsshsessionreader* pReader );
参数说明
const xsshsessionreader* pReader读取器
返回:返回只读 TCP 会话;无效对象返回空。

示例已编译验证

/* 返回只读 TCP 会话;无效对象返回空。 */
result = xrtSshSessionReaderSessionConst(pReader);

xrtSshSessionReaderState

返回空闲、空间重试或已准备状态;无效对象返回独立 INVALID。

xsshsessionreaderstate xrtSshSessionReaderState( const xsshsessionreader* pReader );
参数说明
const xsshsessionreader* pReader读取器
返回:返回空闲、空间重试或已准备状态;无效对象返回独立 INVALID。

示例已编译验证

/* 返回空闲、空间重试或已准备状态;无效对象返回独立 INVALID。 */
result = xrtSshSessionReaderState(pReader);

xrtSshSessionReaderPrepare

XRT_API xsshcode xrtSshSessionReaderPrepare( xsshsessionreader* pReader, xnetbuf* pInput, uint64 iNowMs, xsshsessiontcppacket* pPacket );

;
返回:XRT_API xsshcode xrtSshSessionReaderPrepare( xsshsessionreader* pReader, xnetbuf* pInput, uint64 iNowMs, xsshsessiontcppacket* pPacket );

示例已编译验证

/* XRT_API xsshcode xrtSshSessionReaderPrepare( xsshsessionreader* pReader, xnetbuf* pInput, uint64 iNowMs, xsshsessiontcppacket* pPacket ); */
result = xrtSshSessionReaderPrepare();

xrtSshSessionReaderCommit

提交已接受 packet,释放临时明文并发布本轮主机公钥存储。

xsshcode xrtSshSessionReaderCommit( xsshsessionreader* pReader, uint64 iNowMs, xsshrekeydecision* pDecision );
参数说明
xsshsessionreader* pReader读取器
uint64 iNowMs当前毫秒时间
xsshrekeydecision* pDecisionDecson 参数
返回:提交已接受 packet,释放临时明文并发布本轮主机公钥存储。

示例已编译验证

/* 提交已接受 packet,释放临时明文并发布本轮主机公钥存储。 */
result = xrtSshSessionReaderCommit(pReader, iNowMs, pDecision);

xrtSshSessionReaderAbort

拒绝当前 packet、消费其线路前缀并终止绑定会话。

xsshcode xrtSshSessionReaderAbort(xsshsessionreader* pReader);
参数说明
xsshsessionreader* pReader读取器
返回:拒绝当前 packet、消费其线路前缀并终止绑定会话。

示例已编译验证

/* 拒绝当前 packet、消费其线路前缀并终止绑定会话。 */
result = xrtSshSessionReaderAbort(pReader);

xrtSshSessionReaderHostKey

返回当前或最近一轮 KEX 已验签主机公钥的稳定借用视图。

xbytesview xrtSshSessionReaderHostKey( const xsshsessionreader* pReader );
参数说明
const xsshsessionreader* pReader读取器
返回:返回当前或最近一轮 KEX 已验签主机公钥的稳定借用视图。

示例已编译验证

/* 返回当前或最近一轮 KEX 已验签主机公钥的稳定借用视图。 */
result = xrtSshSessionReaderHostKey(pReader);