1#ifndef ENGINE_SERVER_DATABASES_CONNECTION_POOL_H
2#define ENGINE_SERVER_DATABASES_CONNECTION_POOL_H
27 ISqlData(std::shared_ptr<ISqlResult> pResult) :
90 std::unique_ptr<const ISqlData> pSqlRequestData,
96 std::unique_ptr<const ISqlData> pSqlRequestData,
void Print(Mode DatabaseMode)
Definition connection_pool.cpp:124
Mode
Definition connection_pool.h:76
@ NUM_MODES
Definition connection_pool.h:80
@ READ
Definition connection_pool.h:77
@ WRITE_BACKUP
Definition connection_pool.h:79
@ WRITE
Definition connection_pool.h:78
CDbConnectionPool & operator=(const CDbConnectionPool &)=delete
int m_InsertIdx
Definition connection_pool.h:109
friend class CWorker
Definition connection_pool.h:101
void * m_pBackupThread
Definition connection_pool.h:134
void * m_pWorkerThread
Definition connection_pool.h:133
std::shared_ptr< CSharedData > m_pShared
Definition connection_pool.h:132
friend class CBackup
Definition connection_pool.h:102
~CDbConnectionPool()
Definition connection_pool.cpp:486
bool m_Shutdown
Definition connection_pool.h:111
void Execute(FRead pFunc, std::unique_ptr< const ISqlData > pSqlRequestData, const char *pName)
Definition connection_pool.cpp:145
CDbConnectionPool()
Definition connection_pool.cpp:479
void ExecuteWrite(FWrite pFunc, std::unique_ptr< const ISqlData > pSqlRequestData, const char *pName)
Definition connection_pool.cpp:155
static bool ExecSqlFunc(IDbConnection *pConnection, struct CSqlExecData *pData, Write w)
Definition connection_pool.cpp:446
bool(* FWrite)(IDbConnection *, const ISqlData *, Write, char *pError, int ErrorSize)
Definition connection_pool.h:73
bool(* FRead)(IDbConnection *, const ISqlData *, char *pError, int ErrorSize)
Definition connection_pool.h:72
void RegisterSqliteDatabase(Mode DatabaseMode, const char aFilename[64])
Definition connection_pool.cpp:131
void RegisterMysqlDatabase(Mode DatabaseMode, const CMysqlConfig *pMysqlConfig)
Definition connection_pool.cpp:138
void OnShutdown()
Definition connection_pool.cpp:165
Definition connection.h:19
Write
Definition connection_pool.h:37
@ NORMAL_FAILED
Definition connection_pool.h:45
@ NORMAL
Definition connection_pool.h:41
@ BACKUP_FIRST
Definition connection_pool.h:39
@ NORMAL_SUCCEEDED
Definition connection_pool.h:43
constexpr auto IO_MAX_PATH_LENGTH
Definition types.h:26
Definition connection_pool.h:114
std::unique_ptr< struct CSqlExecData > m_aQueries[512]
Definition connection_pool.h:129
std::atomic_bool m_Shutdown
Definition connection_pool.h:120
CSemaphore m_NumBackup
Definition connection_pool.h:123
CSemaphore m_NumWorker
Definition connection_pool.h:126
Definition connection_pool.h:49
char m_aPass[64]
Definition connection_pool.h:53
bool m_Setup
Definition connection_pool.h:57
char m_aSslKey[IO_MAX_PATH_LENGTH]
Definition connection_pool.h:61
char m_aDatabase[64]
Definition connection_pool.h:50
char m_aPrefix[64]
Definition connection_pool.h:51
char m_aIp[64]
Definition connection_pool.h:54
char m_aBindaddr[128]
Definition connection_pool.h:55
bool m_UseSsl
Definition connection_pool.h:58
char m_aUser[64]
Definition connection_pool.h:52
char m_aSslCa[IO_MAX_PATH_LENGTH]
Definition connection_pool.h:59
int m_Port
Definition connection_pool.h:56
char m_aSslCert[IO_MAX_PATH_LENGTH]
Definition connection_pool.h:60
Definition connection_pool.cpp:24
Definition connection_pool.h:26
virtual ~ISqlData()=default
std::shared_ptr< ISqlResult > m_pResult
Definition connection_pool.h:33
ISqlData(std::shared_ptr< ISqlResult > pResult)
Definition connection_pool.h:27
Definition connection_pool.h:14
std::atomic_bool m_Completed
Definition connection_pool.h:18
virtual ~ISqlResult()=default
bool m_Success
Definition connection_pool.h:20