1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/**
* Copyright (C) 2008 10gen Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "../pch.h"
namespace mongo {
/* command line options
*/
/* concurrency: OK/READ */
struct CmdLine {
int port; // --port
string bind_ip; // --bind_ip
bool rest; // --rest
string _replSet; // --replSet[/<seedlist>]
string ourSetName() const {
string setname;
size_t sl = _replSet.find('/');
if( sl == string::npos )
return _replSet;
return _replSet.substr(0, sl);
}
string source; // --source
string only; // --only
bool quiet; // --quiet
bool notablescan; // --notablescan
bool prealloc; // --noprealloc
bool smallfiles; // --smallfiles
bool quota; // --quota
int quotaFiles; // --quotaFiles
bool cpu; // --cpu show cpu time periodically
long long oplogSize; // --oplogSize
int defaultProfile; // --profile
int slowMS; // --time in ms that is "slow"
int pretouch; // --pretouch for replication application (experimental)
bool moveParanoia; // for move chunk paranoia
enum {
DefaultDBPort = 27017,
ConfigServerPort = 27019,
ShardServerPort = 27018
};
CmdLine() :
port(DefaultDBPort), rest(false), quiet(false), notablescan(false), prealloc(true), smallfiles(false),
quota(false), quotaFiles(8), cpu(false), oplogSize(0), defaultProfile(0), slowMS(100), pretouch(0), moveParanoia( true )
{ }
static void addGlobalOptions( boost::program_options::options_description& general ,
boost::program_options::options_description& hidden );
/**
* @return true if should run program, false if should exit
*/
static bool store( int argc , char ** argv ,
boost::program_options::options_description& visible,
boost::program_options::options_description& hidden,
boost::program_options::positional_options_description& positional,
boost::program_options::variables_map &output );
};
extern CmdLine cmdLine;
void setupCoreSignals();
}
|