本文整理汇总了C++中bo类的典型用法代码示例。如果您正苦于以下问题:C++ bo类的具体用法?C++ bo怎么用?C++ bo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了bo类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: checkRsConfig
/* comment MUST only be set when initiating the set by the initiator */
void ReplSetConfig::saveConfigLocally(bo comment) {
checkRsConfig();
log() << "replSet info saving a newer config version to local.system.replset" << rsLog;
{
writelock lk("");
Client::Context cx( rsConfigNs );
cx.db()->flushFiles(true);
//theReplSet->lastOpTimeWritten = ??;
//rather than above, do a logOp()? probably
BSONObj o = asBson();
Helpers::putSingletonGod(rsConfigNs.c_str(), o, false/*logOp=false; local db so would work regardless...*/);
if( !comment.isEmpty() && (!theReplSet || theReplSet->isPrimary()) )
logOpInitiate(comment);
cx.db()->flushFiles(true);
}
log() << "replSet saveConfigLocally done" << rsLog;
}
开发者ID:FrancescaK,项目名称:mongo,代码行数:20,代码来源:rs_config.cpp
示例2: saveConfigLocally
/* comment MUST only be set when initiating the set by the initiator */
void ReplSetConfig::saveConfigLocally(bo comment, bool onInitiate) {
checkRsConfig();
log() << "replSet info saving a newer config version to local.system.replset" << rsLog;
{
// TODO: does this really need to be a global lock?
Lock::GlobalWrite lk;
Client::Context cx( rsConfigNs );
Client::Transaction transaction(DB_SERIALIZABLE);
if (onInitiate) {
cc().txn().txnIntiatingRs();
}
BSONObj o = asBson();
Helpers::putSingleton(rsConfigNs.c_str(), o);
if( !comment.isEmpty() && (!theReplSet || theReplSet->isPrimary()) ) {
OpLogHelpers::logComment(comment, &cc().txn());
}
transaction.commit(0);
}
log() << "replSet saveConfigLocally done" << rsLog;
}
开发者ID:dsavineau,项目名称:mongo,代码行数:21,代码来源:rs_config.cpp
示例3: checkRsConfig
/* comment MUST only be set when initiating the set by the initiator */
void ReplSetConfig::saveConfigLocally(bo comment) {
checkRsConfig();
BSONObj newConfigBSON = asBson();
log() << "replSet info saving a newer config version to local.system.replset: "
<< newConfigBSON << rsLog;
{
OperationContextImpl txn;
Client::WriteContext cx(&txn, rsConfigNs);
//theReplSet->lastOpTimeWritten = ??;
//rather than above, do a logOp()? probably
Helpers::putSingletonGod(&txn,
rsConfigNs.c_str(),
newConfigBSON,
false/*logOp=false; local db so would work regardless...*/);
if( !comment.isEmpty() && (!theReplSet || theReplSet->isPrimary()) )
logOpInitiate(&txn, comment);
}
log() << "replSet saveConfigLocally done" << rsLog;
}
开发者ID:ZhangHongJi,项目名称:mongo,代码行数:23,代码来源:rs_config.cpp
示例4: main
int main(int argc, char *argv[]) {
try {
cout << "mongoperf" << endl;
if( argc > 1 ) {
cout <<
"\n"
"usage:\n"
"\n"
" mongoperf < myjsonconfigfile\n"
"\n"
" {\n"
" nThreads:<n>, // number of threads (default 1)\n"
" fileSizeMB:<n>, // test file size (default 1MB)\n"
" sleepMicros:<n>, // pause for sleepMicros/nThreads between each operation (default 0)\n"
" mmf:<bool>, // if true do i/o's via memory mapped files (default false)\n"
" r:<bool>, // do reads (default false)\n"
" w:<bool>, // do writes (default false)\n"
" recSizeKB:<n>, // size of each write (default 4KB)\n"
" syncDelay:<n> // secs between fsyncs, like --syncdelay in mongod. (default 0/never)\n"
" }\n"
"\n"
"mongoperf is a performance testing tool. the initial tests are of disk subsystem performance; \n"
" tests of mongos and mongod will be added later.\n"
"most fields are optional.\n"
"non-mmf io is direct io (no caching). use a large file size to test making the heads\n"
" move significantly and to avoid i/o coalescing\n"
"mmf io uses caching (the file system cache).\n"
"\n"
<< endl;
return EXIT_SUCCESS;
}
cout << "use -h for help" << endl;
char input[1024];
memset(input, 0, sizeof(input));
cin.read(input, 1000);
if( *input == 0 ) {
cout << "error no options found on stdin for mongoperf" << endl;
return EXIT_FAILURE;
}
string s = input;
mongoutils::str::stripTrailing(s, " \n\r\0x1a");
try {
options = fromjson(s);
}
catch(...) {
cout << "couldn't parse json options. input was:\n|" << s << "|" << endl;
return EXIT_FAILURE;
}
cout << "parsed options:\n" << options.toString() << endl;
go();
}
catch(DBException& e) {
cout << "caught DBException " << e.toString() << endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
开发者ID:10genReviews,项目名称:mongo,代码行数:66,代码来源:mongoperf.cpp
示例5: main
int main(int argc, char *argv[]) {
try {
cout << "mongoperf" << endl;
if( argc > 1 ) {
cout <<
"\n"
"usage:\n"
"\n"
" mongoperf < myjsonconfigfile\n"
"\n"
" {\n"
" nThreads:<n>, // number of threads\n"
" fileSizeMB:<n>, // test file size\n"
" sleepMicros:<n>, // pause for sleepMicros/nThreads between each operation\n"
" mmf:<bool>, // if true do i/o's via memory mapped files\n"
" r:<bool>, // do reads\n"
" w:<bool> // do writes\n"
" }\n"
"\n"
"most fields are optional.\n"
"non-mmf io is direct io (no caching). use a large file size to test making the heads\n"
" move significantly and to avoid i/o coalescing\n"
"mmf io uses caching (the file system cache).\n"
"\n"
<< endl;
return 0;
}
cout << "use -h for help" << endl;
char input[1024];
memset(input, 0, sizeof(input));
cin.read(input, 1000);
if( *input == 0 ) {
cout << "error no options found on stdin for mongoperf" << endl;
return 2;
}
string s = input;
str::stripTrailing(s, "\n\r\0x1a");
try {
options = fromjson(s);
}
catch(...) {
cout << s << endl;
cout << "couldn't parse json options" << endl;
return -1;
}
cout << "options:\n" << options.toString() << endl;
go();
#if 0
cout << "connecting to localhost..." << endl;
DBClientConnection c;
c.connect("localhost");
cout << "connected ok" << endl;
unsigned long long count = c.count("test.foo");
cout << "count of exiting documents in collection test.foo : " << count << endl;
bo o = BSON( "hello" << "world" );
c.insert("test.foo", o);
string e = c.getLastError();
if( !e.empty() ) {
cout << "insert #1 failed: " << e << endl;
}
// make an index with a unique key constraint
c.ensureIndex("test.foo", BSON("hello"<<1), /*unique*/true);
c.insert("test.foo", o); // will cause a dup key error on "hello" field
cout << "we expect a dup key error here:" << endl;
cout << " " << c.getLastErrorDetailed().toString() << endl;
#endif
}
catch(DBException& e) {
cout << "caught DBException " << e.toString() << endl;
return 1;
}
return 0;
}
开发者ID:eraserx99,项目名称:mongo,代码行数:86,代码来源:mongoperf.cpp
注:本文中的bo类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论