本文整理汇总了C++中MessageServer::run方法的典型用法代码示例。如果您正苦于以下问题:C++ MessageServer::run方法的具体用法?C++ MessageServer::run怎么用?C++ MessageServer::run使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MessageServer
的用法示例。
在下文中一共展示了MessageServer::run方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: listen
// Starts the listener port and never returns unless an error occurs
static void listen(int port) {
MessageServer::Options options;
options.port = port;
options.ipList = serverGlobalParams.bind_ip;
MessageServer * server = createServer( options , new MyMessageHandler() );
server->setAsTimeTracker();
// we must setupSockets prior to logStartup() to avoid getting too high
// a file descriptor for our calls to select()
server->setupSockets();
logStartup();
{
OperationContextImpl txn;
repl::getGlobalReplicationCoordinator()->startReplication(&txn);
}
if (serverGlobalParams.isHttpInterfaceEnabled)
boost::thread web(stdx::bind(&webServerThread,
new RestAdminAccess())); // takes ownership
#if(TESTEXHAUST)
boost::thread thr(testExhaust);
#endif
server->run();
}
示例2: start
void start() {
log() << "waiting for connections on port " << cmdLine.port << endl;
//DbGridListener l(port);
//l.listen();
ShardedMessageHandler handler;
MessageServer * server = createServer( cmdLine.port , &handler );
server->run();
}
示例3: start
void start( const MessageServer::Options& opts ) {
balancer.go();
cursorCache.startTimeoutThread();
PeriodicTask::theRunner->go();
ShardedMessageHandler handler;
MessageServer * server = createServer( opts , &handler );
server->setAsTimeTracker();
server->run();
}
示例4: start
void start( const MessageServer::Options& opts ) {
setThreadName( "mongosMain" );
installChunkShardVersioning();
balancer.go();
cursorCache.startTimeoutThread();
PeriodicTask::theRunner->go();
ShardedMessageHandler handler;
MessageServer * server = createServer( opts , &handler );
server->setAsTimeTracker();
server->run();
}
示例5: start
void start(const MessageServer::Options& opts) {
balancer.go();
cursorCache.startTimeoutThread();
UserCacheInvalidator cacheInvalidatorThread(getGlobalAuthorizationManager());
cacheInvalidatorThread.go();
PeriodicTask::startRunningPeriodicTasks();
ShardedMessageHandler handler;
MessageServer* server = createServer(opts, &handler);
server->setAsTimeTracker();
server->setupSockets();
server->run();
}
示例6: start
void start( const MessageServer::Options& opts ){
setThreadName( "mongosMain" );
installChunkShardVersioning();
balancer.go();
cursorCache.startTimeoutThread();
log() << "waiting for connections on port " << cmdLine.port << endl;
//DbGridListener l(port);
//l.listen();
ShardedMessageHandler handler;
MessageServer * server = createServer( opts , &handler );
server->setAsTimeTracker();
server->run();
}
示例7: listen
void listen(int port) {
//testTheDb();
MessageServer::Options options;
options.port = port;
options.ipList = cmdLine.bind_ip;
MessageServer * server = createServer( options , new MyMessageHandler() );
server->setAsTimeTracker();
startReplication();
if ( !noHttpInterface )
boost::thread web( boost::bind(&webServerThread, new RestAdminAccess() /* takes ownership */));
#if(TESTEXHAUST)
boost::thread thr(testExhaust);
#endif
server->run();
}
示例8: _initAndListen
//.........这里部分代码省略.........
boost::filesystem::remove_all(storageGlobalParams.dbpath + "/_tmp/");
if (mmapv1GlobalOptions.journalOptions & MMAPV1Options::JournalRecoverOnly)
return;
if (mongodGlobalParams.scriptingEnabled) {
ScriptEngine::setup();
}
repairDatabasesAndCheckVersion();
if (storageGlobalParams.upgrade) {
log() << "finished checking dbs" << endl;
exitCleanly(EXIT_CLEAN);
}
{
OperationContextImpl txn;
uassertStatusOK(getGlobalAuthorizationManager()->initialize(&txn));
}
/* this is for security on certain platforms (nonce generation) */
srand((unsigned)(curTimeMicros64() ^ startupSrandTimer.micros()));
// The snapshot thread provides historical collection level and lock statistics for use
// by the web interface. Only needed when HTTP is enabled.
if (serverGlobalParams.isHttpInterfaceEnabled) {
statsSnapshotThread.go();
invariant(dbWebServer);
stdx::thread web(stdx::bind(&webServerListenThread, dbWebServer));
web.detach();
}
{
OperationContextImpl txn;
#ifndef _WIN32
mongo::signalForkSuccess();
#endif
Status status = authindex::verifySystemIndexes(&txn);
if (!status.isOK()) {
log() << status.reason();
exitCleanly(EXIT_NEED_UPGRADE);
}
// SERVER-14090: Verify that auth schema version is schemaVersion26Final.
int foundSchemaVersion;
status =
getGlobalAuthorizationManager()->getAuthorizationVersion(&txn, &foundSchemaVersion);
if (!status.isOK()) {
log() << "Auth schema version is incompatible: "
<< "User and role management commands require auth data to have "
<< "at least schema version " << AuthorizationManager::schemaVersion26Final
<< " but startup could not verify schema version: " << status.toString() << endl;
exitCleanly(EXIT_NEED_UPGRADE);
}
if (foundSchemaVersion < AuthorizationManager::schemaVersion26Final) {
log() << "Auth schema version is incompatible: "
<< "User and role management commands require auth data to have "
<< "at least schema version " << AuthorizationManager::schemaVersion26Final
<< " but found " << foundSchemaVersion << ". In order to upgrade "
<< "the auth schema, first downgrade MongoDB binaries to version "
<< "2.6 and then run the authSchemaUpgrade command." << endl;
exitCleanly(EXIT_NEED_UPGRADE);
}
getDeleter()->startWorkers();
restartInProgressIndexesFromLastShutdown(&txn);
repl::getGlobalReplicationCoordinator()->startReplication(&txn);
const unsigned long long missingRepl = checkIfReplMissingFromCommandLine(&txn);
if (missingRepl) {
log() << startupWarningsLog;
log() << "** WARNING: mongod started without --replSet yet " << missingRepl
<< " documents are present in local.system.replset" << startupWarningsLog;
log() << "** Restart with --replSet unless you are doing maintenance and "
<< " no other clients are connected." << startupWarningsLog;
log() << "** The TTL collection monitor will not start because of this."
<< startupWarningsLog;
log() << "** ";
log() << " For more info see http://dochub.mongodb.org/core/ttlcollections";
log() << startupWarningsLog;
} else {
startTTLBackgroundJob();
}
}
startClientCursorMonitor();
PeriodicTask::startRunningPeriodicTasks();
logStartup();
// MessageServer::run will return when exit code closes its socket
server->run();
}
示例9: runMongosServer
static ExitCode runMongosServer() {
Client::initThread("mongosMain");
printShardingVersionInfo(false);
_initWireSpec();
// Add sharding hooks to both connection pools - ShardingConnectionHook includes auth hooks
globalConnPool.addHook(new ShardingConnectionHook(false));
shardConnectionPool.addHook(new ShardingConnectionHook(true));
ReplicaSetMonitor::setAsynchronousConfigChangeHook(
&ConfigServer::replicaSetChangeConfigServerUpdateHook);
ReplicaSetMonitor::setSynchronousConfigChangeHook(
&ConfigServer::replicaSetChangeShardRegistryUpdateHook);
// Mongos connection pools already takes care of authenticating new connections so the
// replica set connection shouldn't need to.
DBClientReplicaSet::setAuthPooledSecondaryConn(false);
if (getHostName().empty()) {
dbexit(EXIT_BADOPTIONS);
}
{
auto txn = cc().makeOperationContext();
Status status = initializeSharding(txn.get());
if (!status.isOK()) {
if (status == ErrorCodes::CallbackCanceled) {
invariant(inShutdown());
log() << "Shutdown called before mongos finished starting up";
return EXIT_CLEAN;
}
error() << "Error initializing sharding system: " << status;
return EXIT_SHARDING_ERROR;
}
ConfigServer::reloadSettings(txn.get());
}
#if !defined(_WIN32)
mongo::signalForkSuccess();
#endif
if (serverGlobalParams.isHttpInterfaceEnabled) {
std::shared_ptr<DbWebServer> dbWebServer(new DbWebServer(
serverGlobalParams.bind_ip, serverGlobalParams.port + 1000, new NoAdminAccess()));
dbWebServer->setupSockets();
stdx::thread web(stdx::bind(&webServerListenThread, dbWebServer));
web.detach();
}
HostnameCanonicalizationWorker::start(getGlobalServiceContext());
Status status = getGlobalAuthorizationManager()->initialize(NULL);
if (!status.isOK()) {
error() << "Initializing authorization data failed: " << status;
return EXIT_SHARDING_ERROR;
}
balancer.go();
clusterCursorCleanupJob.go();
UserCacheInvalidator cacheInvalidatorThread(getGlobalAuthorizationManager());
{
auto txn = cc().makeOperationContext();
cacheInvalidatorThread.initialize(txn.get());
cacheInvalidatorThread.go();
}
PeriodicTask::startRunningPeriodicTasks();
MessageServer::Options opts;
opts.port = serverGlobalParams.port;
opts.ipList = serverGlobalParams.bind_ip;
ShardedMessageHandler handler;
MessageServer* server = createServer(opts, &handler);
server->setAsTimeTracker();
if (!server->setupSockets()) {
return EXIT_NET_ERROR;
}
server->run();
// MessageServer::run will return when exit code closes its socket
return inShutdown() ? EXIT_CLEAN : EXIT_NET_ERROR;
}