xrtWsConnConfigInit
XRT_API void xrtWsConnConfigInit(xwsconnconfig* pConfig);
示例已编译验证
wsconnconfiginit obj; xrtWsConnConfigInit(&obj);
xrtWsConnConfigValid
XRT_API bool xrtWsConnConfigValid( const xwsconnconfig* pConfig );
示例已编译验证
/* XRT_API bool xrtWsConnConfigValid( const xwsconnconfig* pConfig ); */ result = xrtWsConnConfigValid();
xrtWsConnAttach
XRT_API xwsconn* xrtWsConnAttach( xnetstream* pStream, const xwsconnconfig* pConfig, const xwsconnevents* pEvents, ptr pData );
示例已编译验证
/* XRT_API xwsconn* xrtWsConnAttach( xnetstream* pStream, const xwsconnconfig* pConfig, const xwsconnevents* pEvents, ptr pData ); */ result = xrtWsConnAttach();
xrtWsConnAttachTls
XRT_API xwsconn* xrtWsConnAttachTls( xtlsstream* pStream, const xwsconnconfig* pConfig, const xwsconnevents* pEvents, ptr pData );
示例已编译验证
/* XRT_API xwsconn* xrtWsConnAttachTls( xtlsstream* pStream, const xwsconnconfig* pConfig, const xwsconnevents* pEvents, ptr pData ); */ result = xrtWsConnAttachTls();
xrtWsConnRef
增加 Connection 引用并返回原指针。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 增加 Connection 引用并返回原指针。 */ result = xrtWsConnRef(pConnection);
xrtWsConnDestroy
释放 Connection 引用;关闭或中止传输必须另行请求。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
示例已编译验证
xrtWsConnDestroy(pConnection);
xrtWsConnState
返回并发可读的会话状态。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回并发可读的会话状态。 */ result = xrtWsConnState(pConnection);
xrtWsConnRole
返回建立连接时固定的本端角色。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回建立连接时固定的本端角色。 */ result = xrtWsConnRole(pConnection);
xrtWsConnProtocol
返回 Connection 拥有的已协商子协议快照。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回 Connection 拥有的已协商子协议快照。 */ result = xrtWsConnProtocol(pConnection);
xrtWsConnDeflate
XRT_API bool xrtWsConnDeflate( const xwsconn* pConnection, xwsdeflate* pDeflate );
示例已编译验证
/* XRT_API bool xrtWsConnDeflate( const xwsconn* pConnection, xwsdeflate* pDeflate ); */ result = xrtWsConnDeflate();
xrtWsConnWorker
返回传输所属的借用 Worker。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回传输所属的借用 Worker。 */ result = xrtWsConnWorker(pConnection);
xrtWsConnTcp
在所属 Worker 上借用 TCP Stream;TLS 会话返回空指针。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 在所属 Worker 上借用 TCP Stream;TLS 会话返回空指针。 */ result = xrtWsConnTcp(pConnection);
xrtWsConnTcpRef
从任意线程取得 TCP Stream 强引用;调用方最终 Destroy。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 从任意线程取得 TCP Stream 强引用;调用方最终 Destroy。 */ result = xrtWsConnTcpRef(pConnection);
xrtWsConnTls
在所属 Worker 上借用 TLS Stream;TCP 会话返回空指针。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 在所属 Worker 上借用 TLS Stream;TCP 会话返回空指针。 */ result = xrtWsConnTls(pConnection);
xrtWsConnTlsRef
从任意线程取得 TLS Stream 强引用;调用方最终 Destroy。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 从任意线程取得 TLS Stream 强引用;调用方最终 Destroy。 */ result = xrtWsConnTlsRef(pConnection);
xrtWsConnPending
返回 WebSocket 与底层传输当前待发字节的并发快照。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回 WebSocket 与底层传输当前待发字节的并发快照。 */ result = xrtWsConnPending(pConnection);
xrtWsConnWritable
返回普通数据当前仍可受理的硬预算快照。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回普通数据当前仍可受理的硬预算快照。 */ result = xrtWsConnWritable(pConnection);
xrtWsConnPause
XRT_API void xrtWsConnPause(xwsconn* pConnection);
示例已编译验证
/* XRT_API void xrtWsConnPause(xwsconn* pConnection); */ result = xrtWsConnPause();
xrtWsConnResume
XRT_API bool xrtWsConnResume(xwsconn* pConnection);
示例已编译验证
/* XRT_API bool xrtWsConnResume(xwsconn* pConnection); */ result = xrtWsConnResume();
xrtWsConnPaused
返回接收侧当前是否被应用暂停的并发快照。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回接收侧当前是否被应用暂停的并发快照。 */ result = xrtWsConnPaused(pConnection);
xrtWsConnSend
XRT_API xnetresult xrtWsConnSend( xwsconn* pConnection, xwsopcode Opcode, xbytesview Payload );
示例已编译验证
/* XRT_API xnetresult xrtWsConnSend( xwsconn* pConnection, xwsopcode Opcode, xbytesview Payload ); */ result = xrtWsConnSend();
xrtWsConnText
发送一条完整 UTF-8 Text 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xstrview Text | 文本视图 |
示例已编译验证
/* 发送一条完整 UTF-8 Text 消息。 */ result = xrtWsConnText(pConnection, Text);
xrtWsConnBinary
发送一条完整 Binary 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xbytesview Data | 数据内容 |
示例已编译验证
/* 发送一条完整 Binary 消息。 */ result = xrtWsConnBinary(pConnection, Data);
xrtWsConnSendRef
XRT_API xnetresult xrtWsConnSendRef( xwsconn* pConnection, xwsopcode Opcode, const xnetref* pRef );
示例已编译验证
/* XRT_API xnetresult xrtWsConnSendRef( xwsconn* pConnection, xwsopcode Opcode, const xnetref* pRef ); */ result = xrtWsConnSendRef();
xrtWsConnTextRef
发送一条所有权 UTF-8 Text 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| const xnetref* pRef | 引用 |
示例已编译验证
/* 发送一条所有权 UTF-8 Text 消息。 */ result = xrtWsConnTextRef(pConnection, pRef);
xrtWsConnBinaryRef
发送一条所有权 Binary 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| const xnetref* pRef | 引用 |
示例已编译验证
/* 发送一条所有权 Binary 消息。 */ result = xrtWsConnBinaryRef(pConnection, pRef);
xrtWsConnSendTake
XRT_API xnetresult xrtWsConnSendTake( xwsconn* pConnection, xwsopcode Opcode, ptr pData, size_t iSize );
示例已编译验证
/* XRT_API xnetresult xrtWsConnSendTake( xwsconn* pConnection, xwsopcode Opcode, ptr pData, size_t iSize ); */ result = xrtWsConnSendTake();
xrtWsConnTextTake
发送并接管一段 xrtMalloc UTF-8 Text。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| str sText | 文本 |
| size_t iSize | 字节数 |
示例已编译验证
/* 发送并接管一段 xrtMalloc UTF-8 Text。 */ result = xrtWsConnTextTake(pConnection, sText, iSize);
xrtWsConnBinaryTake
发送并接管一段 xrtMalloc Binary。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| bytes pData | 用户数据 |
| size_t iSize | 字节数 |
示例已编译验证
/* 发送并接管一段 xrtMalloc Binary。 */ result = xrtWsConnBinaryTake(pConnection, pData, iSize);
xrtWsConnBegin
XRT_API xwswriter* xrtWsConnBegin( xwsconn* pConnection, xwsopcode Opcode );
示例已编译验证
/* XRT_API xwswriter* xrtWsConnBegin( xwsconn* pConnection, xwsopcode Opcode ); */ result = xrtWsConnBegin();
xrtWsConnBeginText
开始一条未压缩的分片 UTF-8 Text 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 开始一条未压缩的分片 UTF-8 Text 消息。 */ result = xrtWsConnBeginText(pConnection);
xrtWsConnBeginBinary
开始一条未压缩的分片 Binary 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 开始一条未压缩的分片 Binary 消息。 */ result = xrtWsConnBeginBinary(pConnection);
xrtWsConnBeginCompressed
XRT_API xwswriter* xrtWsConnBeginCompressed( xwsconn* pConnection, xwsopcode Opcode );
示例已编译验证
/* XRT_API xwswriter* xrtWsConnBeginCompressed( xwsconn* pConnection, xwsopcode Opcode ); */ result = xrtWsConnBeginCompressed();
xrtWsConnBeginTextCompressed
开始一条压缩分片 UTF-8 Text 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 开始一条压缩分片 UTF-8 Text 消息。 */ result = xrtWsConnBeginTextCompressed(pConnection);
xrtWsConnBeginBinaryCompressed
开始一条压缩分片 Binary 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 开始一条压缩分片 Binary 消息。 */ result = xrtWsConnBeginBinaryCompressed(pConnection);
xrtWsWriterWrite
XRT_API xnetresult xrtWsWriterWrite( xwswriter* pWriter, xbytesview Data );
示例已编译验证
/* XRT_API xnetresult xrtWsWriterWrite( xwswriter* pWriter, xbytesview Data ); */ result = xrtWsWriterWrite();
xrtWsWriterFinish
XRT_API xnetresult xrtWsWriterFinish( xwswriter* pWriter, xbytesview Data );
示例已编译验证
/* XRT_API xnetresult xrtWsWriterFinish( xwswriter* pWriter, xbytesview Data ); */ result = xrtWsWriterFinish();
xrtWsWriterWriteRef
XRT_API xnetresult xrtWsWriterWriteRef( xwswriter* pWriter, const xnetref* pRef );
示例已编译验证
/* XRT_API xnetresult xrtWsWriterWriteRef( xwswriter* pWriter, const xnetref* pRef ); */ result = xrtWsWriterWriteRef();
xrtWsWriterFinishRef
XRT_API xnetresult xrtWsWriterFinishRef( xwswriter* pWriter, const xnetref* pRef );
示例已编译验证
/* XRT_API xnetresult xrtWsWriterFinishRef( xwswriter* pWriter, const xnetref* pRef ); */ result = xrtWsWriterFinishRef();
xrtWsWriterWriteTake
提交并接管一个非空 xrtMalloc 分片。
| 参数 | 说明 |
|---|---|
| xwswriter* pWriter | 写入器 |
| ptr pData | 用户数据 |
| size_t iSize | 字节数 |
示例已编译验证
/* 提交并接管一个非空 xrtMalloc 分片。 */ result = xrtWsWriterWriteTake(pWriter, pData, iSize);
xrtWsWriterFinishTake
提交并接管一个非空 xrtMalloc 最终分片。
| 参数 | 说明 |
|---|---|
| xwswriter* pWriter | 写入器 |
| ptr pData | 用户数据 |
| size_t iSize | 字节数 |
示例已编译验证
/* 提交并接管一个非空 xrtMalloc 最终分片。 */ result = xrtWsWriterFinishTake(pWriter, pData, iSize);
xrtWsWriterIsFinished
返回 Writer 是否已经成功提交最终分片;空指针返回 false,回绕范围设置参数错误。
| 参数 | 说明 |
|---|---|
| const xwswriter* pWriter | 写入器 |
示例已编译验证
/* 返回 Writer 是否已经成功提交最终分片;空指针返回 false,回绕范围设置参数错误。 */ result = xrtWsWriterIsFinished(pWriter);
xrtWsWriterDestroy
XRT_API void xrtWsWriterDestroy( xwswriter* pWriter );
示例已编译验证
xrtWsWriterDestroy(obj);
xrtWsConnSendCompressed
XRT_API xnetresult xrtWsConnSendCompressed( xwsconn* pConnection, xwsopcode Opcode, xbytesview Payload );
示例已编译验证
/* XRT_API xnetresult xrtWsConnSendCompressed( xwsconn* pConnection, xwsopcode Opcode, xbytesview Payload ); */ result = xrtWsConnSendCompressed();
xrtWsConnTextCompressed
压缩并发送一条完整 UTF-8 Text 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xstrview Text | 文本视图 |
示例已编译验证
/* 压缩并发送一条完整 UTF-8 Text 消息。 */ result = xrtWsConnTextCompressed(pConnection, Text);
xrtWsConnBinaryCompressed
压缩并发送一条完整 Binary 消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xbytesview Data | 数据内容 |
示例已编译验证
/* 压缩并发送一条完整 Binary 消息。 */ result = xrtWsConnBinaryCompressed(pConnection, Data);
xrtWsConnPing
XRT_API xnetresult xrtWsConnPing( xwsconn* pConnection, xbytesview Payload );
示例已编译验证
/* XRT_API xnetresult xrtWsConnPing( xwsconn* pConnection, xbytesview Payload ); */ result = xrtWsConnPing();
xrtWsConnPong
XRT_API xnetresult xrtWsConnPong( xwsconn* pConnection, xbytesview Payload );
示例已编译验证
/* XRT_API xnetresult xrtWsConnPong( xwsconn* pConnection, xbytesview Payload ); */ result = xrtWsConnPong();
xrtWsConnClose
XRT_API xnetresult xrtWsConnClose( xwsconn* pConnection, uint16 iCode, xstrview Reason );
示例已编译验证
/* XRT_API xnetresult xrtWsConnClose( xwsconn* pConnection, uint16 iCode, xstrview Reason ); */ result = xrtWsConnClose();
xrtWsConnAbort
XRT_API bool xrtWsConnAbort(xwsconn* pConnection);
示例已编译验证
/* XRT_API bool xrtWsConnAbort(xwsconn* pConnection); */ result = xrtWsConnAbort();
xrtWsConnCloseInfo
XRT_API bool xrtWsConnCloseInfo( const xwsconn* pConnection, xwsconnclose* pClose );
示例已编译验证
/* XRT_API bool xrtWsConnCloseInfo( const xwsconn* pConnection, xwsconnclose* pClose ); */ result = xrtWsConnCloseInfo();
xrtWsConnError
返回 Connection 第一个结构化错误;结果借用到 Connection 销毁。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回 Connection 第一个结构化错误;结果借用到 Connection 销毁。 */ result = xrtWsConnError(pConnection);
xrtWsConnAsyncBytes
返回尚未由 Connection Worker 终结的异步发送负载字节数。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回尚未由 Connection Worker 终结的异步发送负载字节数。 */ result = xrtWsConnAsyncBytes(pConnection);
xrtWsConnAsyncCount
返回异步发送和条件等待的合计操作数。
| 参数 | 说明 |
|---|---|
| const xwsconn* pConnection | 连接对象 |
示例已编译验证
/* 返回异步发送和条件等待的合计操作数。 */ result = xrtWsConnAsyncCount(pConnection);
xrtWsConnWaitAsync
XRT_API xfuture* xrtWsConnWaitAsync( xwsconn* pConnection, xwsconnwait Wait );
示例已编译验证
/* XRT_API xfuture* xrtWsConnWaitAsync( xwsconn* pConnection, xwsconnwait Wait ); */ result = xrtWsConnWaitAsync();
xrtWsConnSendAsync
XRT_API xfuture* xrtWsConnSendAsync( xwsconn* pConnection, xwsopcode Opcode, xbytesview Payload );
示例已编译验证
/* XRT_API xfuture* xrtWsConnSendAsync( xwsconn* pConnection, xwsopcode Opcode, xbytesview Payload ); */ result = xrtWsConnSendAsync();
xrtWsConnTextAsync
从任意线程复制并异步提交 UTF-8 Text。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xstrview Text | 文本视图 |
示例已编译验证
/* 从任意线程复制并异步提交 UTF-8 Text。 */ result = xrtWsConnTextAsync(pConnection, Text);
xrtWsConnBinaryAsync
从任意线程复制并异步提交 Binary。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xbytesview Data | 数据内容 |
示例已编译验证
/* 从任意线程复制并异步提交 Binary。 */ result = xrtWsConnBinaryAsync(pConnection, Data);
xrtWsConnSendRefAsync
XRT_API xfuture* xrtWsConnSendRefAsync( xwsconn* pConnection, xwsopcode Opcode, const xnetref* pRef );
示例已编译验证
/* XRT_API xfuture* xrtWsConnSendRefAsync( xwsconn* pConnection, xwsopcode Opcode, const xnetref* pRef ); */ result = xrtWsConnSendRefAsync();
xrtWsConnTextRefAsync
从任意线程异步提交一条所有权 UTF-8 Text。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| const xnetref* pRef | 引用 |
示例已编译验证
/* 从任意线程异步提交一条所有权 UTF-8 Text。 */ result = xrtWsConnTextRefAsync(pConnection, pRef);
xrtWsConnBinaryRefAsync
从任意线程异步提交一条所有权 Binary。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| const xnetref* pRef | 引用 |
示例已编译验证
/* 从任意线程异步提交一条所有权 Binary。 */ result = xrtWsConnBinaryRefAsync(pConnection, pRef);
xrtWsConnSendCompressedAsync
从任意线程复制、压缩并异步提交一条完整消息。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xwsopcode Opcode | Ocode 参数 |
| xbytesview Payload | 负载 |
示例已编译验证
/* 从任意线程复制、压缩并异步提交一条完整消息。 */ result = xrtWsConnSendCompressedAsync(pConnection, Opcode, Payload);
xrtWsConnTextCompressedAsync
从任意线程复制、压缩并异步提交 UTF-8 Text。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xstrview Text | 文本视图 |
示例已编译验证
/* 从任意线程复制、压缩并异步提交 UTF-8 Text。 */ result = xrtWsConnTextCompressedAsync(pConnection, Text);
xrtWsConnBinaryCompressedAsync
从任意线程复制、压缩并异步提交 Binary。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xbytesview Data | 数据内容 |
示例已编译验证
/* 从任意线程复制、压缩并异步提交 Binary。 */ result = xrtWsConnBinaryCompressedAsync(pConnection, Data);
xrtWsConnPingAsync
从任意线程复制并异步提交 Ping。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xbytesview Payload | 负载 |
示例已编译验证
/* 从任意线程复制并异步提交 Ping。 */ result = xrtWsConnPingAsync(pConnection, Payload);
xrtWsConnPongAsync
从任意线程复制并异步提交 Pong。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| xbytesview Payload | 负载 |
示例已编译验证
/* 从任意线程复制并异步提交 Pong。 */ result = xrtWsConnPongAsync(pConnection, Payload);
xrtWsConnCloseAsync
从任意线程异步提交唯一 Close。
| 参数 | 说明 |
|---|---|
| xwsconn* pConnection | 连接对象 |
| uint16 iCode | 状态码 |
| xstrview Reason | 原因文本 |
示例已编译验证
/* 从任意线程异步提交唯一 Close。 */ result = xrtWsConnCloseAsync(pConnection, iCode, Reason);