=
"EECDH+aRSA+AESGCM EDH+aRSA+AESGCM EECDH+aRSA EDH+aRSA !SHA !SHA256 !SHA384";
146 const string kDefaultMyNCBIURL=
"http://txproxy.linkerd.ncbi.nlm.nih.gov/v1/service/MyNCBIAccount?txsvc=MyNCBIAccount";
152 const string kDefaultMyNCBITestWebCubbyUser=
"MVWNUIMYDR41F2XRDBT8JTFGDFFR9KJM;logged-in=true;my-name=vakatov@ncbi.nlm.nih.gov;persistent=true@E7321B44700304B1_0000SID";
173m_ShutdownIfTooManyOpenFD(0),
282 "]/port value is not found in the configuration " 283 "file. The port must be provided to run the server. " 307 "maxconnalertlimit",
330 "conn_throttle_threshold",
335 "conn_throttle_by_host",
340 "conn_throttle_by_site",
345 "conn_throttle_by_process",
350 "conn_throttle_by_user_agent",
362 "send_blob_if_small",
371 "ProcessorMaxConcurrency",
374 "split_info_blob_cache_size",
404 "only_for_processor",
412 "dbfile_si2csi",
"");
414 "dbfile_bioseq_info",
"");
416 "dbfile_blob_prop",
"");
471 "critical_data_sources",
500 m_Warnings.push_back(
"The [HEALTH]/critical_data_sources value " 501 "has NONE together with other items. " 502 "The NONE item is ignored.");
510 "The [HEALTH]/timeout value is out of range. It must be > 0. " 537 "The [CASSANDRA]/health_timeout value is out of range. It must be >= 0. " 565 "The LMDB health timeout is out of range. It must be >= 0. " 592 "The CDD health timeout is out of range. It must be >= 0. " 619 "The WGS health timeout is out of range. It must be >= 0. " 621 "default from [HEALTH]/timeout: "+
647 "The SNP health timeout is out of range. It must be >= 0. " 649 "default from [HEALTH]/timeout: "+
662 "not_found_cache_size",
671 "error_cache_back_off_ms",
683 "resolve_timeout_ms",
686 "dns_resolve_ok_period_sec",
689 "dns_resolve_fail_period_sec",
692 "test_web_cubby_user",
695 "test_ok_period_sec",
698 "test_fail_period_sec",
708 for(
const auto& value_id :
entries) {
719name_and_description +
720 " information. Expected <name>:::<description");
733 "Decrypting error detected while reading " 742 "Unknown decrypting error detected while reading " 799 stringcombined_critical_errors;
801 if(!combined_critical_errors.empty()) {
802combined_critical_errors +=
"\n";
804combined_critical_errors +=
"- "+ item;
806combined_msg =
"The following critical errors were found " 807 "while reading settings:\n"+ combined_critical_errors;
812 stringcombined_errors;
813 for(
const string& item :
m_Errors) {
814 if(!combined_errors.empty()) {
815combined_errors +=
"\n";
817combined_errors +=
"- "+ item;
819 stringerrors =
"The following errors were found " 820 "while reading settings:\n"+ combined_errors;
823 if(!combined_msg.empty()) {
824combined_msg +=
"\n";
826combined_msg += errors;
830 stringcombined_warnings;
832 if(!combined_warnings.empty()) {
833combined_warnings +=
"\n";
835combined_warnings +=
"- "+ item;
837 stringwarns =
"The following warnings were found " 838 "while reading settings:\n"+ combined_warnings;
841 if(!combined_msg.empty()) {
842combined_msg +=
"\n";
844combined_msg += warns;
847 if(!combined_msg.empty()) {
865 if(m_HttpPort < kHttpPortMin || m_HttpPort >
kHttpPortMax) {
868 "]/port value is out of range. Allowed range: "+
874 if(m_HttpWorkers < kWorkersMin || m_HttpWorkers >
kWorkersMax) {
876 "The number of HTTP workers is out of range. Allowed " 887 "The listener backlog is out of range. Allowed " 896 m_CriticalErrors.push_back(
"Invalid [SERVER]/conn_throttle_close_idle value. " 897 "It must be >= 0. Resetting to "+
903 m_CriticalErrors.push_back(
"Invalid [SERVER]/conn_force_close_wait value. " 904 "It must be >= 0. Resetting to "+
910 m_CriticalErrors.push_back(
"Invalid [SERVER]/conn_throttle_data_valid value. " 911 "It must be > 0. Resetting to "+
916 boolconnection_config_good =
true;
917 if(m_TcpMaxConn < kTcpMaxConnMin || m_TcpMaxConn >
kTcpMaxConnMax) {
918connection_config_good =
false;
920 "The max number of connections is out of range. Allowed " 924 ". Resetting all connection and throttling settings to default.");
929connection_config_good =
false;
931 "Invalid [SERVER]/maxconnsoftlimit value. It must be > 0. " 932 "Resetting all connection and throttling settings to default.");
937connection_config_good =
false;
939 "Inconsistent [SERVER]/maxconn value. " 940 "It must be >= [SERVER]/maxconnsoftlimit value. " 941 "Resetting all connection and throttling settings to default.");
946connection_config_good =
false;
948 "Invalid [SERVER]/maxconnalertlimit value. " 950 "Resetting all connection and throttling settings to default.");
955connection_config_good =
false;
957 "Inconsistent [SERVER]/maxconnalertlimit value. " 958 "It must be <= [SERVER]/maxconnsoftlimit value. " 959 "Resetting all connection and throttling settings to default.");
963 if(connection_config_good &&
965connection_config_good =
false;
967 "Inconsistent [SERVER]/conn_throttle_threshold value. It must be " 968 "<= [SERVER]/maxconnsoftlimit value. " 969 "Resetting all connection and throttling settings to default.");
974connection_config_good =
false;
976 "Inconsistent [SERVER]/conn_throttle_by_host value. It must be " 977 "<= [SERVER]/conn_throttle_threshold value. " 978 "Resetting all connection and throttling settings to default.");
983connection_config_good =
false;
985 "Inconsistent [SERVER]/conn_throttle_by_site value. It must be " 986 "<= [SERVER]/conn_throttle_threshold value. " 987 "Resetting all connection and throttling settings to default.");
992connection_config_good =
false;
994 "Inconsistent [SERVER]/conn_throttle_by_process value. It must be " 995 "<= [SERVER]/conn_throttle_threshold value. " 996 "Resetting all connection and throttling settings to default.");
1001connection_config_good =
false;
1003 "Inconsistent [SERVER]/conn_throttle_by_user_agent value. It must be " 1004 "<= [SERVER]/conn_throttle_threshold value. " 1005 "Resetting all connection and throttling settings to default.");
1013 "The http max backlog must be > 0. Resetting to "+
1022 "The http max running must be > 0. Resetting to "+
1031 "The log sampling ratio must be >= 0. Resetting to "+
1040 "The log timing threshold must be >= 0. Resetting to "+
1049 "The max hops must be > 0. Resetting to "+
1058 "The resend timeout must be >= 0. Resetting to "+
1067 "The request timeout must be > 0. Resetting to "+
1075 "]/ProcessorMaxConcurrency value ("+
1077 "The processor max concurrency must be > 0. " 1086 boolstat_settings_good =
true;
1092 "'. Allowed values are: log, linear. " 1093 "The statistics parameters are reset to default values.");
1094stat_settings_good =
false;
1102 if(stat_settings_good) {
1106 "]/min and max values. The " 1107 "max cannot be less than min. " 1108 "The statistics parameters are reset to default values.");
1109stat_settings_good =
false;
1118 if(stat_settings_good) {
1122 "]/n_bins value. The " 1123 "number of bins must be > 0. " 1124 "The statistics parameters are reset to default values.");
1140 "The tick span must be > 0. Resetting to "+
1151 "in the ini file. No si2csi cache will be used.");
1157 "in the ini file. No bioseq_info cache will be used.");
1163 "in the ini file. No blob_prop cache will be used.");
1171 "The max exclude cache size must be a positive integer. " 1173 "Resetting to 0 (exclude blobs cache is disabled)");
1177 if(m_ExcludeCachePurgePercentage < 0 || m_ExcludeCachePurgePercentage > 100) {
1178 string msg=
"The exclude cache purge percentage is out of range. " 1179 "Allowed: 0...100. Received: "+
1185 m_Warnings.push_back(
msg+
"The provided value has no effect " 1186 "because the exclude cache is disabled.");
1192 string msg=
"The exclude cache inactivity purge timeout must be > 0." 1199 m_Warnings.push_back(
msg+
"The provided value has no effect " 1200 "because the exclude cache is disabled.");
1213 "The ["+
kIPGSection+
"]/page_size value must be > 0. " 1227 "["+
kSSLSection+
"]/ssl_cert_file value must be provided " 1228 "if ["+
kSSLSection+
"]/ssl_enable is set to true");
1232 "["+
kSSLSection+
"]/ssl_key_file value must be provided " 1233 "if ["+
kSSLSection+
"]/ssl_enable is set to true");
1238 "["+
kSSLSection+
"]/ssl_cert_file is not found");
1242 "["+
kSSLSection+
"]/ssl_key_file is not found");
1287 "The ["+
kMyNCBISection+
"]/resolve_timeout_ms value must be > 0. " 1305 const string& section,
1306 const string& entry,
1307 doubledefault_value)
1311 if(reg_value.empty()) {
1312 returndefault_value;
1315 if(reg_value.back() !=
'%') {
1318 "The ["+ section +
"]/"+ entry +
" value is malformed. " 1319 "The '%' character must be at the end. " 1320 "Resetting to "+ to_string(default_value));
1321 returndefault_value;
1325reg_value.back() =
' ';
1328 if(reg_value.empty()) {
1331 "The ["+ section +
"]/"+ entry +
" value is malformed. " 1332 "There is no actual value in front of the '%' character. " 1333 "Resetting to "+ to_string(default_value));
1334 returndefault_value;
1339 double val= stod(reg_value);
1342 "The ["+ section +
"]/"+ entry +
" value is invalid. It must be > 0. " 1343 "Resetting to "+ to_string(default_value));
1344 returndefault_value;
1352 "The ["+ section +
"]/"+ entry +
" value is malformed. " 1353 "Error converting it to double. " 1354 "Resetting to "+ to_string(default_value));
1355 returndefault_value;
1363 const string& section,
1364 const string& entry)
1368 if(reg_value.empty()) {
1372 returnreg_value.back() ==
'%';
1391 const string& section,
1392 const string& entry,
1393 unsigned longdefault_val)
1411 const string& processor_id)
1413 stringsection = processor_id +
"_PROCESSOR";
1417 "ProcessorMaxConcurrency",
1421 "Invalid ["+ section +
"]/ProcessorMaxConcurrency value ("+
1422to_string(limit) +
"). " 1423 "The processor max concurrency must be > 0. "void transform(Container &c, UnaryFunction *op)
void Register(EPSGS_AlertType alert_type, const string &message)
definition of a Culling tree
@ eNoOwnership
No ownership is assumed.
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const TParamTree * GetTree() const
Uint8 GetDataSize(const string &driver_name, const string ¶m_name, EErrAction on_error, unsigned int default_value, const list< string > *synonyms=NULL)
Utility function to get an integer element of parameter tree Throws an exception when mandatory param...
@ eErr_NoThrow
Return default value on error.
virtual bool GetBool(const string §ion, const string &name, bool default_value, TFlags flags=0, EErrAction err_action=eThrow) const
Get boolean value of specified parameter name.
virtual const string & Get(const string §ion, const string &name, TFlags flags=0) const
Get the parameter value.
virtual int GetInt(const string §ion, const string &name, int default_value, TFlags flags=0, EErrAction err_action=eThrow) const
Get integer value of specified parameter name.
virtual double GetDouble(const string §ion, const string &name, double default_value, TFlags flags=0, EErrAction err_action=eThrow) const
Get double value of specified parameter name.
virtual bool HasEntry(const string §ion, const string &name=kEmptyStr, TFlags flags=0) const
virtual void EnumerateEntries(const string §ion, list< string > *entries, TFlags flags=fAllLayers) const
Enumerate parameter names for a specified section.
string GetEncryptedString(const string §ion, const string &name, TFlags flags=0, const string &password=kEmptyStr) const
Get a value that was (potentially) stored encrypted.
virtual string GetString(const string §ion, const string &name, const string &default_value, TFlags flags=0) const
Get the parameter string value.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static bool SplitInTwo(const CTempString str, const CTempString delim, string &str1, string &str2, TSplitFlags flags=0)
Split a string into two pieces using the specified delimiters.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
@ fSplit_MergeDelimiters
Merge adjacent delimiters.
@ fSplit_ByPattern
Require full delimiter strings.
const TTreeType * FindSubNode(const TKeyType &key) const
Non recursive linear scan of all subnodes, with key comparison.
constexpr auto sort(_Init &&init)
Parameters initialization model.
Plugin manager (using class factory paradigm).
#define PSG_ERROR(message)
#define PSG_CRITICAL(message)
#define PSG_WARNING(message)
const string kAutoExcludeSection
const size_t kDefaultLogTimingThreshold
const string kDefaultAuthToken
const size_t kDefaultShutdownIfTooManyOpenFDforHTTPS
const size_t kDefaultHttpMaxBacklog
const string kHealthSection
const size_t kDefaultIPGPageSize
const unsigned int kDefaultMaxHops
const unsigned long kDefaultSendBlobIfSmall
const bool kDefaultSSLEnable
const unsigned short kTcpMaxConnMin
const bool kDefaultAllowProcessorTiming
const int64_t kTcpConnHardSoftDiffDefault
const double kDefaultLMDBHealthTimeoutSec
const string kDefaultCDDProcessorHealthCommand
const string kWGSProcessorSection
const string kDefaultSSLKeyFile
const string kDefaultOnlyForProcessor
const int64_t kTcpMaxConnDefault
const size_t kDefaultMyNCBITestFailPeriodSec
const string kDefaultSSLCertFile
const string kServerSection
const size_t kDefaultHttpMaxRunning
const double kDefaultConnThrottleByHostPercent
const string kCassandraProcessorSection
const string kCDDProcessorSection
const bool kDefaultLogPeerIPAlways
const unsigned short kHttpPortMax
const double kDefaultTcpMaxConnAlertLimitPercent
const double kDefaultConnThrottleByProcessPercent
const bool kDefaultCassandraProcessorsEnabled
const unsigned short kWorkersDefault
const bool kDefaultSNPProcessorsEnabled
const string kDefaultConfigurationDomain
const size_t kDefaultConnThrottleByHost
const double kDefaultConnThrottleByUserAgentPercent
const int64_t kTcpMaxConnSoftLimitDefault
const size_t kDefaultConnThrottleThreshold
const size_t kDefaultMyNCBINotFoundCacheExpirationSec
const string kDebugSection
const unsigned int kListenerBacklogDefault
const bool kDefaultSeqIdResolveAlways
const double kDefaultRequestTimeoutSec
const string kCountersSection
const size_t kDefaultSplitInfoBlobCacheSize
const size_t kDefaultMyNCBIDnsResolveOkPeriodSec
const size_t kDefaultConnThrottleByProcess
const string kDefaultSNPProcessorHealthCommand
const size_t kDefaultMyNCBIErrorCacheSize
const size_t kDefaultMyNCBIOKCacheSize
const string kDefaultRootKeyspace
const size_t kDefaultLogSamplingRatio
const double kDefaultCassandraHealthTimeoutSec
const size_t kDefaultProcessorMaxConcurrency
const unsigned short kTcpMaxConnMax
const string kDefaultCriticalDataSources
const double kDefaultSNPHealthTimeoutSec
const int64_t kTcpMaxConnAlertLimitDefault
const size_t kDefaultMyNCBIResolveTimeoutMs
const unsigned long kDefaultSmallBlobSize
const unsigned short kHttpPortMin
const size_t kDefaultIdleTimeoutSec
const size_t kDefaultShutdownIfTooManyOpenFDforHTTP
const unsigned int kListenerBacklogMax
const unsigned int kDefaultExcludeCachePurgePercentage
const unsigned short kWorkersMax
const size_t kDefaultConnThrottleBySite
const unsigned short kWorkersMin
const int64_t kTcpConnSoftAlertDiffDefault
const string kMyNCBISection
const unsigned int kDefaultExcludeCacheMaxSize
const string kLMDBProcessorSection
const size_t kDefaultMyNCBIErrorCacheBackOffMs
const string kLmdbCacheSection
const string kSNPProcessorSection
const size_t kDefaultMyNCBITestOkPeriodSec
const string kDefaultMyNCBITestWebCubbyUser
const bool kDefaultCDDProcessorsEnabled
const bool kDefaultAllowIOTest
const size_t kDefaultConnThrottleByUserAgent
const bool kDefaultLmdbReadAhead
const double kDefaultWGSHealthTimeoutSec
const double kDefaultConnThrottleThresholdPercent
const double kDefaultTcpMaxConnSoftLimitPercent
const double kDefaultConnThrottleCloseIdleSec
const double kDefaultHealthTimeout
const string kDefaultSSLCiphers
const string kDefaultLMDBProcessorHealthCommand
const double kDefaultConnForceCloseWaitSec
const string kDefaultCassandraProcessorHealthCommand
const string kDefaultAuthCommands
const size_t kDefaultMyNCBINotFoundCacheSize
const size_t kDefaultMyNCBIDnsResolveFailPeriodSec
const double kDefaultResendTimeoutSec
const double kDefaultConnThrottleBySitePercent
const string kDefaultMyNCBIURL
const bool kDefaultWGSProcessorsEnabled
const string kDefaultMyNCBIHttpProxy
const string kAdminSection
const bool kDefaultEnableHugeIPG
const size_t kDefaultMyNCBITimeoutMs
const string kDefaultWGSProcessorHealthCommand
const unsigned int kDefaultExcludeCacheInactivityPurge
const string kStatisticsSection
const double kDefaultCDDHealthTimeoutSec
const double kDefaultThrottlingDataValidSec
const unsigned int kListenerBacklogMin
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
void x_ValidateAdminSection(void)
void x_ValidateCassandraProcessorSection(void)
void x_ValidateSSLSection(void)
void x_ValidateHealthSection(void)
bool m_SNPProcessorsEnabled
void x_ValidateLmdbCacheSection(void)
unsigned long m_MinStatValue
double m_ThrottlingDataValidSec
int64_t m_TcpMaxConnAlertLimit
double m_CassandraHealthTimeoutSec
string m_WGSProcessorHealthCommand
void x_ReadCountersSection(const CNcbiRegistry ®istry)
void x_ValidateMyNCBISection(void)
size_t m_SplitInfoBlobCacheSize
double m_ResendTimeoutSec
string m_OnlyForProcessor
double x_GetPercentValue(const CNcbiRegistry ®istry, const string §ion, const string &entry, double default_val)
unsigned long x_GetDataSize(const CNcbiRegistry ®istry, const string §ion, const string &entry, unsigned long default_val)
vector< string > m_CriticalDataSources
size_t m_ConnThrottleByProcess
void x_ReadCDDProcessorSection(const CNcbiRegistry ®istry)
string m_BioseqInfoDbFile
size_t m_ConnThrottleThreshold
string m_MyNCBITestWebCubbyUser
string m_SNPProcessorHealthCommand
double m_RequestTimeoutSec
size_t m_LogTimingThreshold
size_t m_MyNCBIDnsResolveFailPeriodSec
void x_ValidateLMDBProcessorSection(void)
string m_CassandraProcessorHealthCommand
map< string, tuple< string, string > > m_IdToNameAndDescription
unsigned int m_ExcludeCachePurgePercentage
double m_LMDBHealthTimeoutSec
size_t m_MyNCBITestOkPeriodSec
void x_ReadIPGSection(const CNcbiRegistry ®istry)
size_t m_MyNCBINotFoundCacheSize
vector< string > m_Warnings
unsigned short m_HttpPort
bool x_IsPercentValue(const CNcbiRegistry ®istry, const string §ion, const string &entry)
double m_SNPHealthTimeoutSec
void x_ResetConnectionSettingsToDefault(void)
size_t m_ConnThrottleByUserAgent
void x_ReadSNPProcessorSection(const CNcbiRegistry ®istry)
vector< string > m_CriticalErrors
unsigned long m_MaxStatValue
void x_ReadStatisticsSection(const CNcbiRegistry ®istry)
void x_ReadWGSProcessorSection(const CNcbiRegistry ®istry)
size_t m_LogSamplingRatio
size_t m_MyNCBITestFailPeriodSec
void x_ValidateCDDProcessorSection(void)
void x_ReadServerSection(const CNcbiRegistry ®istry)
bool m_SeqIdResolveAlways
unsigned short m_HttpWorkers
void x_ValidateDebugSection(void)
double m_WGSHealthTimeoutSec
string m_ConfigurationDomain
void Read(const CNcbiRegistry ®istry)
void x_ReadAutoExcludeSection(const CNcbiRegistry ®istry)
bool IsAuthProtectedCommand(const string &cmd) const
void x_ValidateServerSection(void)
vector< string > m_Errors
size_t m_MyNCBIErrorCacheBackOffMs
void x_ValidateLogSection(void)
size_t m_MyNCBIDnsResolveOkPeriodSec
size_t m_MyNCBIOKCacheSize
void x_ValidateStatisticsSection(void)
void x_ValidateWGSProcessorSection(void)
void x_ReadMyNCBISection(const CNcbiRegistry ®istry)
unsigned int m_ExcludeCacheMaxSize
void Validate(CPSGAlerts &alerts)
void x_ReadAdminSection(const CNcbiRegistry ®istry)
void x_ValidateCountersSection(void)
string m_LMDBProcessorHealthCommand
void x_ValidateIPGSection(void)
unsigned long m_SmallBlobSize
size_t GetProcessorMaxConcurrency(const CNcbiRegistry ®istry, const string &processor_id)
double m_ConnForceCloseWaitSec
void x_ReadSSLSection(const CNcbiRegistry ®istry)
int64_t m_TcpMaxConnSoftLimit
bool m_CassandraProcessorsEnabled
size_t m_ProcessorMaxConcurrency
void x_ValidateSNPProcessorSection(void)
void x_ReadHealthSection(const CNcbiRegistry ®istry)
void x_ReadH2OSection(const CNcbiRegistry ®istry)
size_t m_ShutdownIfTooManyOpenFD
~SPubseqGatewaySettings()
unsigned int m_ListenerBacklog
bool m_AllowProcessorTiming
void x_ValidateH2OSection(void)
string m_CDDProcessorHealthCommand
size_t m_ConnThrottleByHost
bool m_CDDProcessorsEnabled
unsigned int m_ExcludeCacheInactivityPurge
void x_ValidateAutoExcludeSection(void)
double m_CDDHealthTimeoutSec
double m_ConnThrottleCloseIdleSec
size_t m_MyNCBINotFoundCacheExpirationSec
unsigned long m_SendBlobIfSmall
size_t m_MyNCBIErrorCacheSize
bool m_WGSProcessorsEnabled
void x_ReadLmdbCacheSection(const CNcbiRegistry ®istry)
vector< string > m_AuthCommands
void x_ReadLogSection(const CNcbiRegistry ®istry)
void x_ReadLMDBProcessorSection(const CNcbiRegistry ®istry)
void x_ReadCassandraProcessorSection(const CNcbiRegistry ®istry)
void x_ReadDebugSection(const CNcbiRegistry ®istry)
unsigned long m_NStatBins
double m_HealthTimeoutSec
size_t m_MyNCBIResolveTimeoutMs
size_t m_ConnThrottleBySite
const unsigned long kNStatBins
const unsigned long kMinStatValue
const string kStatScaleType
const unsigned long kMaxStatValue
const unsigned long kTickSpan
static wxAcceleratorEntry entries[3]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4