crawlserv++  [under development]
Application for crawling and analyzing textual content of websites.
crawlservpp::Main Namespace Reference

Namespace for the main classes of the program. More...

Namespaces

 Version
 Namespace for version information.
 

Classes

class  App
 Main application. More...
 
class  ConfigFile
 Configuration file. More...
 
class  Database
 Class handling database access for the command-and-control and its threads. More...
 
class  Exception
 Base class for all exceptions thrown by the application. More...
 
class  Server
 The command-and-control server. More...
 
class  SignalHandler
 
class  WebServer
 Embedded web server class using the mongoose library. More...
 

Constants

constexpr auto argsRequired {2}
 Number of arguments required by the application. More...
 
constexpr auto pwPrompt1 {"Enter password for "sv}
 First part of the password prompt. More...
 
constexpr auto pwPrompt2 {"@"sv}
 Second part of the password prompt. More...
 
constexpr auto pwPrompt3 {":"sv}
 Third part of the password prompt. More...
 
constexpr auto pwPrompt4 {": "sv}
 Fourth part of the password prompt. More...
 
constexpr auto doneMsg {"[DONE]"sv}
 Message when done with the password input. More...
 
constexpr auto inputBackspace {127}
 Code for the backspace key. More...
 
constexpr auto inputEof {-1}
 Code for the CTRL+C keys or the end of the file. More...
 
constexpr auto inputEtx {3}
 Code for the CTRL+C keys or the end of the text. More...
 
constexpr auto inputEsc {27}
 Code for the Escape key. More...
 
constexpr auto year {__DATE__ + 7}
 The current year. More...
 
constexpr auto descName {"crawlserv++ Command-and-Control Server"sv}
 The name of the application. More...
 
constexpr auto descVer {"Version "sv}
 The beginning of the version string. More...
 
constexpr auto descCopyrightHead {"Copyright (C) "sv}
 The beginning of the copyright string. More...
 
constexpr auto descCopyrightTail {" Anselm Schmidt (ans[ät]ohai.su)"sv}
 The actual copyrigt. More...
 
constexpr auto descLicense
 The text of the license. More...
 
constexpr auto descUsing {"using"sv}
 The string before the used libraries. More...
 
constexpr auto descUsage {"USAGE: crawlserv <config_file> or crawlserv -v"}
 The usage string for the command line. More...
 
constexpr auto sqlDir {"sql"sv}
 (Sub-)Directory for .sql files. More...
 
constexpr auto sqlExtension {".sql"sv}
 File extension for .sql files. More...
 
constexpr auto lockTimeOutSec {300}
 Time-out on table lock in seconds. More...
 
constexpr auto reconnectAfterIdleMs {600000}
 Idle time in milliseconds after which a re-connect to the database will be enforced. More...
 
constexpr auto sleepOnLockMs {250}
 Sleep time in milliseconds before re-attempting to add a database lock. More...
 
constexpr auto maxContentSize {1073741824}
 Maximum size of database content in bytes (= 1 GiB). More...
 
constexpr auto maxContentSizeString {"1 GiB"sv}
 Maximum size of database content as string. More...
 
constexpr auto wwwPrefix {"www."sv}
 "www." prefix to be ignored when checking for a domain. More...
 
constexpr auto numUrlListTables {6}
 The minimum number of tables per URL list. More...
 
constexpr auto sqlConstraint {"CONSTRAINT "sv}
 The MySQL keyword for a constraint, including the trailing space. More...
 
constexpr auto secToMs {1000}
 The factor for converting seconds to milliseconds and vice versa. More...
 
constexpr auto sleepOnDeadLockMs {250}
 Time (in ms) to sleep on SQL deadlock. More...
 
constexpr auto maxColumnsUrlList {6}
 Maximum number of columns in all associated tables associated with an URL list. More...
 
constexpr auto numArgsAddUrl {4}
 Number fo arguments needed for adding one URL. More...
 
constexpr auto cacheDir {"cache"sv}
 The name of the (sub-)directory for the file cache. More...
 
constexpr auto cookieDir {"cookies"sv}
 The name of the (sub-)directory for cookies. More...
 
constexpr auto downloadDir {"dl"sv}
 The name of the (sub-)directory for downloads. More...
 
constexpr auto debugDir {"debug"sv}
 The name of the (sub-)directory for debugging. More...
 
constexpr auto dictDir {"dict"sv}
 The name of the (sub-)directory for dictionaries. More...
 
constexpr auto mdlDir {"mdl"sv}
 The name of the (sub-)directory for language models. More...
 
constexpr auto webServerPollTimeOutMs {1000}
 The timeout in milliseconds for the polling of the web server. More...
 
constexpr auto statusHttpCode {200}
 The HTTP status code for GET replies indicating the status of the server. More...
 
constexpr auto statusHttpContentType {"text/plain"}
 The HTTP content type for GET replies indicating the status of the server. More...
 
constexpr auto replyHttpCode {200}
 The HTTP status code for POST replies. More...
 
constexpr auto replyHttpContentType {"application/json"}
 The HTTP content type for POST replies. More...
 
constexpr auto optionsHttpCode {200}
 The HTTP status code for OPTIONS replies. More...
 
constexpr auto minNameSpaceLength {3}
 The minimum length of namespaces. More...
 
constexpr auto minNameSpaceLengthString {"three"sv}
 The minimum length of namespaces, as string. More...
 
constexpr auto httpString {"http://"sv}
 The beginning of URLs using the HTTP protocol. More...
 
constexpr auto httpsString {"https://"sv}
 The beginning of URLs using the HTTPS protocol. More...
 
constexpr auto xmlWarningsDefault {25}
 The number of XML warnings by default. More...
 
constexpr auto dataTypeColumnNameSeparatorShort {"_"sv}
 The (short) separator used between data type and column name. More...
 
constexpr auto dataTypeColumnNameSeparatorLong {"__"sv}
 The (long) separator used between data type and column name. More...
 
constexpr auto listenToAddress {"tcp://0.0.0.0:"sv}
 The address at which to listen for incoming connections. More...
 
constexpr auto headerContentType {"content-type"sv}
 The name of a (lower-case) content type header. More...
 
constexpr auto headerContentSize {"content-length"sv}
 The name of a (lower-case) content size header. More...
 
constexpr auto headerContentEncoding {"content-encoding"sv}
 The name of a (lower-case) content encoding header. More...
 
constexpr auto headerContentTypeValue {"multipart/form-data"sv}
 The expected content type for HTTP multipart requests. More...
 
constexpr auto headerBoundaryBegin {"boundary="sv}
 The beginning of the header part that contains the boundary. More...
 
constexpr auto httpOk {200}
 HTTP OK response code. More...
 
constexpr auto filePartHeaderBegin {"content-"sv}
 Required beginning of (lower-case) file part header. More...
 
constexpr auto filePartBoundaryBegin {"--"sv}
 Required beginning of a HTTP multipart boundary. More...
 
constexpr auto filePartBoundaryFinalEnd {"--"sv}
 The end of the final HTTP multipart boundary. More...
 
constexpr auto filePartUploadHeader {"content-disposition"sv}
 The name of the upload header containing content information. More...
 
constexpr auto filePartUploadName {"name="sv}
 The beginning of the field in the content information containing the name of the content. More...
 
constexpr auto filePartUploadFileName {"filename="sv}
 The name of the content containing the original name of the file to upload. More...
 
constexpr auto filePartUploadField {"filetoupload"sv}
 The (lower-case) name of the content containing file content to upload. More...
 
constexpr auto randFileNameLength {64}
 The length of randomly generated file names. More...
 
constexpr auto quotesLength {2}
 The length of two encapsulating quotes, in bytes. More...
 
constexpr auto gzipMinBytes {2000}
 The number of minimum bytes for gzip to be used. More...
 

Constants for MySQL Queries

constexpr auto nAtOnce10 {10}
 Ten at once. More...
 
constexpr auto nAtOnce100 {100}
 One hundred at once. More...
 
constexpr auto nAtOnce500 {500}
 Five hundred at once. More...
 
constexpr auto sqlArg1 {1}
 First argument. More...
 
constexpr auto sqlArg2 {2}
 Second argument. More...
 
constexpr auto sqlArg3 {3}
 Third argument. More...
 
constexpr auto sqlArg4 {4}
 Fourth argument. More...
 
constexpr auto sqlArg5 {5}
 Fifth argument. More...
 
constexpr auto sqlArg6 {6}
 Sixth argument. More...
 
constexpr auto sqlArg7 {7}
 Seventh argument. More...
 
constexpr auto sqlArg8 {8}
 Eighth argument. More...
 
constexpr auto sqlArg9 {9}
 Ninth argument. More...
 

Constants for MySQL Connection Errors

constexpr auto sqlSortAborted {1027}
 Sort aborted. More...
 
constexpr auto sqlTooManyConnections {1040}
 Too many connections. More...
 
constexpr auto sqlCannotGetHostName {1042}
 Cannot get host name. More...
 
constexpr auto sqlBadHandShake {1043}
 Bad handshake. More...
 
constexpr auto sqlServerShutDown {1053}
 Server shutdown. More...
 
constexpr auto sqlNormalShutdown {1077}
 Normal shutdown. More...
 
constexpr auto sqlGotSignal {1078}
 Got signal. More...
 
constexpr auto sqlShutDownComplete {1079}
 Shutdown complete. More...
 
constexpr auto sqlForcingCloseOfThread {1080}
 Forcing close of thread. More...
 
constexpr auto sqlCannotCreateIPSocket {1081}
 Cannot create IP socket. More...
 
constexpr auto sqlAbortedConnection {1152}
 Aborted connection. More...
 
constexpr auto sqlReadErrorFromConnectionPipe {1154}
 Read error from connection pipe. More...
 
constexpr auto sqlPacketsOutOfOrder {1156}
 Packets out of order. More...
 
constexpr auto sqlCouldNotUncompressPackets {1157}
 Could not uncompress packets. More...
 
constexpr auto sqlErrorReadingPackets {1158}
 Error reading packets. More...
 
constexpr auto sqlTimeOutReadingPackets {1159}
 Timeout reading packets. More...
 
constexpr auto sqlErrorWritingPackets {1160}
 Error writing packets. More...
 
constexpr auto sqlTimeOutWritingPackets {1161}
 Timeout writing packets. More...
 
constexpr auto sqlNewAbortedConnection {1184}
 New aborted connection-. More...
 
constexpr auto sqlNetErrorReadingFromMaster {1189}
 Network error reading from master. More...
 
constexpr auto sqlNetErrorWritingToMaster {1190}
 Network error writing to master. More...
 
constexpr auto sqlMoreThanMaxUserConnections {1203}
 More than the maximum number of user connections. More...
 
constexpr auto sqlLockWaitTimeOutExceeded {1205}
 Lock wait timeout exceeded. More...
 
constexpr auto sqlNumOfLocksExceedsLockTableSize {1206}
 Number of locks exceeds lock table size. More...
 
constexpr auto sqlDeadLock {1213}
 Deadlock. More...
 
constexpr auto sqlServerErrorConnectingToMaster {1218}
 Server error connecting to master. More...
 
constexpr auto sqlQueryExecutionInterrupted {1317}
 Query execution interrupted. More...
 
constexpr auto sqlUnableToConnectToForeignDataSource {1429}
 Unable to connect to foreign data source. More...
 
constexpr auto sqlCannotConnectToServerThroughSocket {2002}
 Cannot connect to server through socket. More...
 
constexpr auto sqlCannotConnectToServer {2003}
 Cannot connect to server. More...
 
constexpr auto sqlUnknownServerHost {2005}
 Unknown server host. More...
 
constexpr auto sqlServerHasGoneAway {2006}
 Server has gone away. More...
 
constexpr auto sqlTCPError {2011}
 TCP error. More...
 
constexpr auto sqlErrorInServerHandshake {2012}
 Error in server handshake. More...
 
constexpr auto sqlLostConnectionDuringQuery {2013}
 Lost connection during query. More...
 
constexpr auto sqlClientErrorConnectingToSlave {2024}
 Client error connecting to slave. More...
 
constexpr auto sqlClientErrorConnectingToMaster {2025}
 Client error connecting to master. More...
 
constexpr auto sqlSSLConnectionError {2026}
 SSL connection error. More...
 
constexpr auto sqlMalformedPacket {2027}
 Malformed packet. More...
 
constexpr auto sqlInvalidConnectionHandle {2048}
 Invalid connection handle. More...
 

Constants for Other MySQL Errors

constexpr auto sqlStorageEngineError {1030}
 Storage engine error. More...
 
constexpr auto sqlInsufficientPrivileges {1045}
 Insufficient privileges. More...
 
constexpr auto sqlWrongArguments {1210}
 Wrong arguments. More...
 
constexpr auto sqlIncorrectPath {1525}
 Incorrect path. More...
 

Detailed Description

Namespace for the main classes of the program.

Variable Documentation

◆ argsRequired

constexpr auto crawlservpp::Main::argsRequired {2}
inline

Number of arguments required by the application.

Referenced by crawlservpp::Main::App::run().

◆ cacheDir

constexpr auto crawlservpp::Main::cacheDir {"cache"sv}
inline

The name of the (sub-)directory for the file cache.

Referenced by crawlservpp::Main::Server::tick().

◆ cookieDir

constexpr auto crawlservpp::Main::cookieDir {"cookies"sv}
inline

The name of the (sub-)directory for cookies.

Referenced by crawlservpp::Main::Server::Server(), and crawlservpp::Main::Server::tick().

◆ dataTypeColumnNameSeparatorLong

constexpr auto crawlservpp::Main::dataTypeColumnNameSeparatorLong {"__"sv}
inline

The (long) separator used between data type and column name.

Referenced by crawlservpp::Main::Server::tick().

◆ dataTypeColumnNameSeparatorShort

constexpr auto crawlservpp::Main::dataTypeColumnNameSeparatorShort {"_"sv}
inline

The (short) separator used between data type and column name.

Referenced by crawlservpp::Main::Server::tick().

◆ debugDir

constexpr auto crawlservpp::Main::debugDir {"debug"sv}
inline

The name of the (sub-)directory for debugging.

◆ descCopyrightHead

constexpr auto crawlservpp::Main::descCopyrightHead {"Copyright (C) "sv}
inline

The beginning of the copyright string.

Referenced by crawlservpp::Main::App::run().

◆ descCopyrightTail

constexpr auto crawlservpp::Main::descCopyrightTail {" Anselm Schmidt (ans[ät]ohai.su)"sv}
inline

The actual copyrigt.

Referenced by crawlservpp::Main::App::run().

◆ descLicense

constexpr auto crawlservpp::Main::descLicense
inline
Initial value:
{
"This program is free software: you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
"the Free Software Foundation, either version 3 of the License, or\n"
"(at your option) any later version.\n\n"
"This program is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
"GNU General Public License for more details.\n\n"
"You should have received a copy of the GNU General Public License\n"
"along with this program. If not, see <https://www.gnu.org/licenses/>."sv
}

The text of the license.

Referenced by crawlservpp::Main::App::run().

◆ descName

constexpr auto crawlservpp::Main::descName {"crawlserv++ Command-and-Control Server"sv}
inline

The name of the application.

Referenced by crawlservpp::Main::App::run().

◆ descUsage

constexpr auto crawlservpp::Main::descUsage {"USAGE: crawlserv <config_file> or crawlserv -v"}
inline

The usage string for the command line.

Referenced by crawlservpp::Main::App::run().

◆ descUsing

constexpr auto crawlservpp::Main::descUsing {"using"sv}
inline

The string before the used libraries.

Referenced by crawlservpp::Main::App::run().

◆ descVer

constexpr auto crawlservpp::Main::descVer {"Version "sv}
inline

The beginning of the version string.

Referenced by crawlservpp::Main::App::run().

◆ dictDir

constexpr auto crawlservpp::Main::dictDir {"dict"sv}
inline

The name of the (sub-)directory for dictionaries.

Referenced by crawlservpp::Main::Server::tick().

◆ doneMsg

constexpr auto crawlservpp::Main::doneMsg {"[DONE]"sv}
inline

Message when done with the password input.

Referenced by crawlservpp::Main::App::run().

◆ downloadDir

constexpr auto crawlservpp::Main::downloadDir {"dl"sv}
inline

The name of the (sub-)directory for downloads.

Referenced by crawlservpp::Main::Server::Server().

◆ filePartBoundaryBegin

constexpr auto crawlservpp::Main::filePartBoundaryBegin {"--"sv}
inline

Required beginning of a HTTP multipart boundary.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ filePartBoundaryFinalEnd

constexpr auto crawlservpp::Main::filePartBoundaryFinalEnd {"--"sv}
inline

The end of the final HTTP multipart boundary.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ filePartHeaderBegin

constexpr auto crawlservpp::Main::filePartHeaderBegin {"content-"sv}
inline

Required beginning of (lower-case) file part header.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ filePartUploadField

constexpr auto crawlservpp::Main::filePartUploadField {"filetoupload"sv}
inline

The (lower-case) name of the content containing file content to upload.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ filePartUploadFileName

constexpr auto crawlservpp::Main::filePartUploadFileName {"filename="sv}
inline

The name of the content containing the original name of the file to upload.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ filePartUploadHeader

constexpr auto crawlservpp::Main::filePartUploadHeader {"content-disposition"sv}
inline

The name of the upload header containing content information.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ filePartUploadName

constexpr auto crawlservpp::Main::filePartUploadName {"name="sv}
inline

The beginning of the field in the content information containing the name of the content.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ gzipMinBytes

constexpr auto crawlservpp::Main::gzipMinBytes {2000}
inline

The number of minimum bytes for gzip to be used.

Referenced by crawlservpp::Main::WebServer::send().

◆ headerBoundaryBegin

constexpr auto crawlservpp::Main::headerBoundaryBegin {"boundary="sv}
inline

The beginning of the header part that contains the boundary.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ headerContentEncoding

constexpr auto crawlservpp::Main::headerContentEncoding {"content-encoding"sv}
inline

The name of a (lower-case) content encoding header.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ headerContentSize

constexpr auto crawlservpp::Main::headerContentSize {"content-length"sv}
inline

The name of a (lower-case) content size header.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ headerContentType

constexpr auto crawlservpp::Main::headerContentType {"content-type"sv}
inline

The name of a (lower-case) content type header.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ headerContentTypeValue

constexpr auto crawlservpp::Main::headerContentTypeValue {"multipart/form-data"sv}
inline

The expected content type for HTTP multipart requests.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ httpOk

constexpr auto crawlservpp::Main::httpOk {200}
inline

HTTP OK response code.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ httpsString

constexpr auto crawlservpp::Main::httpsString {"https://"sv}
inline

The beginning of URLs using the HTTPS protocol.

Referenced by crawlservpp::Main::Server::tick().

◆ httpString

constexpr auto crawlservpp::Main::httpString {"http://"sv}
inline

The beginning of URLs using the HTTP protocol.

Referenced by crawlservpp::Main::Server::tick().

◆ inputBackspace

constexpr auto crawlservpp::Main::inputBackspace {127}
inline

Code for the backspace key.

Referenced by crawlservpp::Main::App::run().

◆ inputEof

constexpr auto crawlservpp::Main::inputEof {-1}
inline

Code for the CTRL+C keys or the end of the file.

Referenced by crawlservpp::Main::App::run().

◆ inputEsc

constexpr auto crawlservpp::Main::inputEsc {27}
inline

Code for the Escape key.

Referenced by crawlservpp::Main::App::run().

◆ inputEtx

constexpr auto crawlservpp::Main::inputEtx {3}
inline

Code for the CTRL+C keys or the end of the text.

Referenced by crawlservpp::Main::App::run().

◆ listenToAddress

constexpr auto crawlservpp::Main::listenToAddress {"tcp://0.0.0.0:"sv}
inline

The address at which to listen for incoming connections.

The specified port will be appended.

Referenced by crawlservpp::Main::WebServer::initHTTP().

◆ lockTimeOutSec

constexpr auto crawlservpp::Main::lockTimeOutSec {300}
inline

Time-out on table lock in seconds.

Referenced by crawlservpp::Main::Database::connect().

◆ maxColumnsUrlList

constexpr auto crawlservpp::Main::maxColumnsUrlList {6}
inline

Maximum number of columns in all associated tables associated with an URL list.

Referenced by crawlservpp::Main::Database::addUrlList().

◆ maxContentSize

constexpr auto crawlservpp::Main::maxContentSize {1073741824}
inline

◆ maxContentSizeString

constexpr auto crawlservpp::Main::maxContentSizeString {"1 GiB"sv}
inline

Maximum size of database content as string.

Referenced by crawlservpp::Main::Database::insertCustomData(), and crawlservpp::Main::Database::updateCustomData().

◆ mdlDir

constexpr auto crawlservpp::Main::mdlDir {"mdl"sv}
inline

The name of the (sub-)directory for language models.

Referenced by crawlservpp::Main::Server::tick().

◆ minNameSpaceLength

constexpr auto crawlservpp::Main::minNameSpaceLength {3}
inline

The minimum length of namespaces.

Referenced by crawlservpp::Main::Server::tick().

◆ minNameSpaceLengthString

constexpr auto crawlservpp::Main::minNameSpaceLengthString {"three"sv}
inline

The minimum length of namespaces, as string.

Referenced by crawlservpp::Main::Server::tick().

◆ nAtOnce10

constexpr auto crawlservpp::Main::nAtOnce10 {10}
inline

Ten at once.

Referenced by crawlservpp::Main::Database::moveWebsite().

◆ nAtOnce100

constexpr auto crawlservpp::Main::nAtOnce100 {100}
inline

◆ nAtOnce500

constexpr auto crawlservpp::Main::nAtOnce500 {500}
inline

Five hundred at once.

Referenced by crawlservpp::Main::Database::mergeUrls().

◆ numArgsAddUrl

constexpr auto crawlservpp::Main::numArgsAddUrl {4}
inline

Number fo arguments needed for adding one URL.

Referenced by crawlservpp::Main::Database::mergeUrls().

◆ numUrlListTables

constexpr auto crawlservpp::Main::numUrlListTables {6}
inline

The minimum number of tables per URL list.

Referenced by crawlservpp::Main::Database::moveWebsite().

◆ optionsHttpCode

constexpr auto crawlservpp::Main::optionsHttpCode {200}
inline

The HTTP status code for OPTIONS replies.

Referenced by crawlservpp::Main::Server::tick().

◆ pwPrompt1

constexpr auto crawlservpp::Main::pwPrompt1 {"Enter password for "sv}
inline

First part of the password prompt.

Referenced by crawlservpp::Main::App::run().

◆ pwPrompt2

constexpr auto crawlservpp::Main::pwPrompt2 {"@"sv}
inline

Second part of the password prompt.

Referenced by crawlservpp::Main::App::run().

◆ pwPrompt3

constexpr auto crawlservpp::Main::pwPrompt3 {":"sv}
inline

Third part of the password prompt.

Referenced by crawlservpp::Main::App::run().

◆ pwPrompt4

constexpr auto crawlservpp::Main::pwPrompt4 {": "sv}
inline

Fourth part of the password prompt.

Referenced by crawlservpp::Main::App::run().

◆ quotesLength

constexpr auto crawlservpp::Main::quotesLength {2}
inline

The length of two encapsulating quotes, in bytes.

Referenced by crawlservpp::Main::WebServer::getIP().

◆ randFileNameLength

constexpr auto crawlservpp::Main::randFileNameLength {64}
inline

The length of randomly generated file names.

Referenced by crawlservpp::Main::WebServer::getIP(), and crawlservpp::Main::Server::tick().

◆ reconnectAfterIdleMs

constexpr auto crawlservpp::Main::reconnectAfterIdleMs {600000}
inline

Idle time in milliseconds after which a re-connect to the database will be enforced.

Referenced by crawlservpp::Main::Database::checkConnection().

◆ replyHttpCode

constexpr auto crawlservpp::Main::replyHttpCode {200}
inline

The HTTP status code for POST replies.

Referenced by crawlservpp::Main::Server::tick().

◆ replyHttpContentType

constexpr auto crawlservpp::Main::replyHttpContentType {"application/json"}
inline

The HTTP content type for POST replies.

Referenced by crawlservpp::Main::Server::tick().

◆ secToMs

constexpr auto crawlservpp::Main::secToMs {1000}
inline

The factor for converting seconds to milliseconds and vice versa.

Referenced by crawlservpp::Main::Database::checkConnection().

◆ sleepOnDeadLockMs

constexpr auto crawlservpp::Main::sleepOnDeadLockMs {250}
inline

◆ sleepOnLockMs

constexpr auto crawlservpp::Main::sleepOnLockMs {250}
inline

Sleep time in milliseconds before re-attempting to add a database lock.

Referenced by crawlservpp::Main::Database::addDatabaseLock().

◆ sqlAbortedConnection

constexpr auto crawlservpp::Main::sqlAbortedConnection {1152}
inline

Aborted connection.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlArg1

constexpr auto crawlservpp::Main::sqlArg1 {1}
inline

First argument.

Referenced by crawlservpp::Main::Database::addConfiguration(), crawlservpp::Main::Database::addOrUpdateTargetTable(), crawlservpp::Main::Database::addQuery(), crawlservpp::Main::Database::addThread(), crawlservpp::Main::Database::addUrlList(), crawlservpp::Main::Database::addWebsite(), crawlservpp::Main::Database::clearLogs(), crawlservpp::Main::Database::deleteConfiguration(), crawlservpp::Main::Database::deleteQuery(), crawlservpp::Main::Database::deleteTargetTable(), crawlservpp::Main::Database::deleteThread(), crawlservpp::Main::Database::deleteUrlList(), crawlservpp::Main::Database::deleteWebsite(), crawlservpp::Main::Database::duplicateConfiguration(), crawlservpp::Main::Database::duplicateQuery(), crawlservpp::Main::Database::duplicateWebsite(), crawlservpp::Main::Database::getColumnType(), crawlservpp::Main::Database::getConfiguration(), crawlservpp::Main::Database::getNumberOfLogEntries(), crawlservpp::Main::Database::getQueryProperties(), crawlservpp::Main::Database::getTargetTableId(), crawlservpp::Main::Database::getTargetTableName(), crawlservpp::Main::Database::getTargetTables(), crawlservpp::Main::Database::getThreadPauseTime(), crawlservpp::Main::Database::getThreadRunTime(), crawlservpp::Main::Database::getUrlListNamespace(), crawlservpp::Main::Database::getUrlListNamespaceFromTargetTable(), crawlservpp::Main::Database::getUrlLists(), crawlservpp::Main::Database::getWebsiteDataDirectory(), crawlservpp::Main::Database::getWebsiteDomain(), crawlservpp::Main::Database::getWebsiteFromUrlList(), crawlservpp::Main::Database::getWebsiteNamespace(), crawlservpp::Main::Database::getWebsiteNamespaceFromConfig(), crawlservpp::Main::Database::getWebsiteNamespaceFromTargetTable(), crawlservpp::Main::Database::insertCustomData(), crawlservpp::Main::Database::isColumnExists(), crawlservpp::Main::Database::isConfiguration(), crawlservpp::Main::Database::isCorpus(), crawlservpp::Main::Database::isQuery(), crawlservpp::Main::Database::isTableExists(), crawlservpp::Main::Database::isTargetTable(), crawlservpp::Main::Database::isUrlList(), crawlservpp::Main::Database::isUrlListCaseSensitive(), crawlservpp::Main::Database::isUrlListNamespace(), crawlservpp::Main::Database::isWebsite(), crawlservpp::Main::Database::isWebsiteNamespace(), crawlservpp::Main::Database::log(), crawlservpp::Main::Database::mergeUrls(), crawlservpp::Main::Database::moveQuery(), crawlservpp::Main::Database::setThreadPauseTime(), crawlservpp::Main::Database::setThreadRunTime(), crawlservpp::Main::Database::setThreadStatus(), crawlservpp::Main::Database::setUrlListCaseSensitive(), crawlservpp::Main::Database::update(), crawlservpp::Main::Database::updateConfiguration(), crawlservpp::Main::Database::updateCustomData(), crawlservpp::Main::Database::updateQuery(), crawlservpp::Main::Database::updateUrlList(), and crawlservpp::Main::Database::updateWebsite().

◆ sqlArg2

◆ sqlArg3

◆ sqlArg4

◆ sqlArg5

constexpr auto crawlservpp::Main::sqlArg5 {5}
inline

◆ sqlArg6

constexpr auto crawlservpp::Main::sqlArg6 {6}
inline

◆ sqlArg7

constexpr auto crawlservpp::Main::sqlArg7 {7}
inline

◆ sqlArg8

constexpr auto crawlservpp::Main::sqlArg8 {8}
inline

◆ sqlArg9

constexpr auto crawlservpp::Main::sqlArg9 {9}
inline

◆ sqlBadHandShake

constexpr auto crawlservpp::Main::sqlBadHandShake {1043}
inline

Bad handshake.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlCannotConnectToServer

constexpr auto crawlservpp::Main::sqlCannotConnectToServer {2003}
inline

Cannot connect to server.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlCannotConnectToServerThroughSocket

constexpr auto crawlservpp::Main::sqlCannotConnectToServerThroughSocket {2002}
inline

Cannot connect to server through socket.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlCannotCreateIPSocket

constexpr auto crawlservpp::Main::sqlCannotCreateIPSocket {1081}
inline

Cannot create IP socket.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlCannotGetHostName

constexpr auto crawlservpp::Main::sqlCannotGetHostName {1042}
inline

Cannot get host name.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlClientErrorConnectingToMaster

constexpr auto crawlservpp::Main::sqlClientErrorConnectingToMaster {2025}
inline

Client error connecting to master.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlClientErrorConnectingToSlave

constexpr auto crawlservpp::Main::sqlClientErrorConnectingToSlave {2024}
inline

Client error connecting to slave.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlConstraint

constexpr auto crawlservpp::Main::sqlConstraint {"CONSTRAINT "sv}
inline

The MySQL keyword for a constraint, including the trailing space.

Referenced by crawlservpp::Main::Database::cloneTable().

◆ sqlCouldNotUncompressPackets

constexpr auto crawlservpp::Main::sqlCouldNotUncompressPackets {1157}
inline

Could not uncompress packets.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlDeadLock

constexpr auto crawlservpp::Main::sqlDeadLock {1213}
inline

◆ sqlDir

constexpr auto crawlservpp::Main::sqlDir {"sql"sv}
inline

(Sub-)Directory for .sql files.

Referenced by crawlservpp::Main::Database::initializeSql().

◆ sqlErrorInServerHandshake

constexpr auto crawlservpp::Main::sqlErrorInServerHandshake {2012}
inline

Error in server handshake.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlErrorReadingPackets

constexpr auto crawlservpp::Main::sqlErrorReadingPackets {1158}
inline

Error reading packets.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlErrorWritingPackets

constexpr auto crawlservpp::Main::sqlErrorWritingPackets {1160}
inline

Error writing packets.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlExtension

constexpr auto crawlservpp::Main::sqlExtension {".sql"sv}
inline

File extension for .sql files.

Referenced by crawlservpp::Main::Database::initializeSql().

◆ sqlForcingCloseOfThread

constexpr auto crawlservpp::Main::sqlForcingCloseOfThread {1080}
inline

Forcing close of thread.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlGotSignal

constexpr auto crawlservpp::Main::sqlGotSignal {1078}
inline

Got signal.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlIncorrectPath

constexpr auto crawlservpp::Main::sqlIncorrectPath {1525}
inline

Incorrect path.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlInsufficientPrivileges

constexpr auto crawlservpp::Main::sqlInsufficientPrivileges {1045}
inline

Insufficient privileges.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlInvalidConnectionHandle

constexpr auto crawlservpp::Main::sqlInvalidConnectionHandle {2048}
inline

Invalid connection handle.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlLockWaitTimeOutExceeded

constexpr auto crawlservpp::Main::sqlLockWaitTimeOutExceeded {1205}
inline

Lock wait timeout exceeded.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlLostConnectionDuringQuery

constexpr auto crawlservpp::Main::sqlLostConnectionDuringQuery {2013}
inline

Lost connection during query.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlMalformedPacket

constexpr auto crawlservpp::Main::sqlMalformedPacket {2027}
inline

Malformed packet.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlMoreThanMaxUserConnections

constexpr auto crawlservpp::Main::sqlMoreThanMaxUserConnections {1203}
inline

More than the maximum number of user connections.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlNetErrorReadingFromMaster

constexpr auto crawlservpp::Main::sqlNetErrorReadingFromMaster {1189}
inline

Network error reading from master.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlNetErrorWritingToMaster

constexpr auto crawlservpp::Main::sqlNetErrorWritingToMaster {1190}
inline

Network error writing to master.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlNewAbortedConnection

constexpr auto crawlservpp::Main::sqlNewAbortedConnection {1184}
inline

New aborted connection-.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlNormalShutdown

constexpr auto crawlservpp::Main::sqlNormalShutdown {1077}
inline

Normal shutdown.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlNumOfLocksExceedsLockTableSize

constexpr auto crawlservpp::Main::sqlNumOfLocksExceedsLockTableSize {1206}
inline

Number of locks exceeds lock table size.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlPacketsOutOfOrder

constexpr auto crawlservpp::Main::sqlPacketsOutOfOrder {1156}
inline

Packets out of order.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlQueryExecutionInterrupted

constexpr auto crawlservpp::Main::sqlQueryExecutionInterrupted {1317}
inline

Query execution interrupted.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlReadErrorFromConnectionPipe

constexpr auto crawlservpp::Main::sqlReadErrorFromConnectionPipe {1154}
inline

Read error from connection pipe.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlServerErrorConnectingToMaster

constexpr auto crawlservpp::Main::sqlServerErrorConnectingToMaster {1218}
inline

Server error connecting to master.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlServerHasGoneAway

constexpr auto crawlservpp::Main::sqlServerHasGoneAway {2006}
inline

Server has gone away.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlServerShutDown

constexpr auto crawlservpp::Main::sqlServerShutDown {1053}
inline

◆ sqlShutDownComplete

constexpr auto crawlservpp::Main::sqlShutDownComplete {1079}
inline

Shutdown complete.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlSortAborted

constexpr auto crawlservpp::Main::sqlSortAborted {1027}
inline

Sort aborted.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlSSLConnectionError

constexpr auto crawlservpp::Main::sqlSSLConnectionError {2026}
inline

SSL connection error.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlStorageEngineError

constexpr auto crawlservpp::Main::sqlStorageEngineError {1030}
inline

Storage engine error.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlTCPError

constexpr auto crawlservpp::Main::sqlTCPError {2011}
inline

◆ sqlTimeOutReadingPackets

constexpr auto crawlservpp::Main::sqlTimeOutReadingPackets {1159}
inline

Timeout reading packets.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlTimeOutWritingPackets

constexpr auto crawlservpp::Main::sqlTimeOutWritingPackets {1161}
inline

Timeout writing packets.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlTooManyConnections

constexpr auto crawlservpp::Main::sqlTooManyConnections {1040}
inline

Too many connections.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlUnableToConnectToForeignDataSource

constexpr auto crawlservpp::Main::sqlUnableToConnectToForeignDataSource {1429}
inline

Unable to connect to foreign data source.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlUnknownServerHost

constexpr auto crawlservpp::Main::sqlUnknownServerHost {2005}
inline

Unknown server host.

Referenced by crawlservpp::Main::Database::sqlException().

◆ sqlWrongArguments

constexpr auto crawlservpp::Main::sqlWrongArguments {1210}
inline

Wrong arguments.

Referenced by crawlservpp::Main::Database::sqlException().

◆ statusHttpCode

constexpr auto crawlservpp::Main::statusHttpCode {200}
inline

The HTTP status code for GET replies indicating the status of the server.

Referenced by crawlservpp::Main::Server::tick().

◆ statusHttpContentType

constexpr auto crawlservpp::Main::statusHttpContentType {"text/plain"}
inline

The HTTP content type for GET replies indicating the status of the server.

Referenced by crawlservpp::Main::Server::tick().

◆ webServerPollTimeOutMs

constexpr auto crawlservpp::Main::webServerPollTimeOutMs {1000}
inline

The timeout in milliseconds for the polling of the web server.

Referenced by crawlservpp::Main::Server::tick().

◆ wwwPrefix

constexpr auto crawlservpp::Main::wwwPrefix {"www."sv}
inline

◆ xmlWarningsDefault

constexpr auto crawlservpp::Main::xmlWarningsDefault {25}
inline

The number of XML warnings by default.

Referenced by crawlservpp::Main::Server::tick().

◆ year

constexpr auto crawlservpp::Main::year {__DATE__ + 7}
inline