本文整理汇总了C++中mongoParser类的典型用法代码示例。如果您正苦于以下问题:C++ mongoParser类的具体用法?C++ mongoParser怎么用?C++ mongoParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了mongoParser类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: convertRequest
INT32 getMoreCommand::convertRequest( mongoParser &parser, msgBuffer &sdbMsg )
{
INT32 rc = SDB_OK ;
INT32 nToReturn = -1 ;
INT64 cursorid = 0 ;
MsgHeader *header = NULL ;
MsgOpGetMore *more = NULL ;
parser.opType = OP_GETMORE ;
sdbMsg.reverse( sizeof ( MsgOpGetMore ) ) ;
sdbMsg.advance( sizeof ( MsgOpGetMore ) ) ;
header = ( MsgHeader * )sdbMsg.data() ;
header->opCode = MSG_BS_GETMORE_REQ ;
header->TID = 0 ;
header->routeID.value = 0 ;
header->requestID = parser.id ;
more = ( MsgOpGetMore * )sdbMsg.data() ;
parser.skip( parser.nsLen + 1 ) ;
parser.readNumber( sizeof( INT32 ), ( CHAR * )&nToReturn ) ;
more->numToReturn = (0 == nToReturn ? -1 : nToReturn) ;
if ( 0 > nToReturn )
{
more->numToReturn = -nToReturn ;
}
parser.readNumber( sizeof( SINT64 ), ( CHAR * )&cursorid ) ;
more->contextID = cursorid - 1;
sdbMsg.doneLen() ;
return rc ;
}
开发者ID:hanjirui,项目名称:SequoiaDB,代码行数:35,代码来源:commands.cpp
示例2: convertRequest
INT32 killCursorsCommand::convertRequest( mongoParser &parser,
std::vector<msgBuffer*> &sdbMsgs )
{
INT32 rc = SDB_OK ;
INT32 nContext = 0 ;
INT32 nToReturn = 0 ;
SINT64 cursorid = 0 ;
MsgHeader *header = NULL ;
MsgOpKillContexts *kill = NULL ;
msgBuffer *sdbMsg = SDB_OSS_NEW msgBuffer() ;
if ( NULL == sdbMsg )
{
rc = SDB_OOM ;
goto error ;
}
parser.opType = OP_KILLCURSORS ;
sdbMsg->reverse( sizeof ( MsgOpKillContexts ) ) ;
sdbMsg->advance( sizeof ( MsgOpKillContexts ) - sizeof( SINT64 ) ) ;
header = ( MsgHeader * )sdbMsg->data() ;
header->opCode = MSG_BS_KILL_CONTEXT_REQ ;
header->TID = 0 ;
header->routeID.value = 0 ;
header->requestID = parser.id ;
kill = ( MsgOpKillContexts * )sdbMsg->data() ;
kill->ZERO = 0 ;
parser.readNumber( sizeof( INT32 ), ( CHAR * )&nContext ) ;
kill->numContexts = nToReturn ;
while ( nToReturn > 0 )
{
parser.readNumber( sizeof( SINT64 ), ( CHAR * )&cursorid ) ;
sdbMsg->write( ( CHAR * )&cursorid, sizeof( SINT64 ) ) ;
--nToReturn ;
}
header->messageLength = sdbMsg->size() ;
sdbMsgs.push_back( sdbMsg ) ;
done:
return rc ;
error:
goto done ;
}
开发者ID:ensean,项目名称:SequoiaDB,代码行数:47,代码来源:commands.cpp
注:本文中的mongoParser类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论