本文整理汇总了C++中XString::ToUInt方法的典型用法代码示例。如果您正苦于以下问题:C++ XString::ToUInt方法的具体用法?C++ XString::ToUInt怎么用?C++ XString::ToUInt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XString
的用法示例。
在下文中一共展示了XString::ToUInt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _ReadChunkedBody
void ClientSideResponse::_ReadChunkedBody(XRef<XStreamIO> socket)
{
char lineBuf[MAX_HEADER_LINE+1];
bool moreChunks = true;
while(moreChunks)
{
memset(lineBuf, 0, MAX_HEADER_LINE+1);
_ReadHeaderLine(socket, lineBuf, false);
if(lineBuf[0] == '0')
{
_ConsumeFooter(socket);
return;
}
if(_EmbedNull(lineBuf))
{
const XString chunkLenS = lineBuf;
const uint32_t chunkLen = chunkLenS.ToUInt(16);
// We read our chunk into a temporary "chunk" XMemory object, we then optionally
// call our "chunk callback" function... Finally, we copy the new chunk into the
// main body contents object.
_chunk->Clear();
if(!_ReceiveData(socket, &_chunk->Extend(chunkLen), chunkLen))
X_STHROW(WebbyException, ("Failed to read data from socket->"));
// call callback here...
if(_ch)
moreChunks = _ch(_chunkHandlerContext, _chunk, *this);
// We only append a chunk to our "_bodyContents" if we are not streaming (
// because "streams" potentially have no end, so an XMemory that contains the
// complete body contents would just grow forever).
if(!_streaming)
memcpy(&(_bodyContents->Extend(chunkLen)), _chunk->Map(), chunkLen);
_ReadEndOfLine(socket);
}
}
}