Core/DBLayer: Simplify template usage for DatabaseWorker
--HG-- branch : trunk
This commit is contained in:
@@ -32,9 +32,9 @@ template <typename T>
|
|||||||
class DatabaseWorker : public ACE_Task_Base
|
class DatabaseWorker : public ACE_Task_Base
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DatabaseWorker(ACE_Activation_Queue* new_queue, T* t) :
|
DatabaseWorker(ACE_Activation_Queue* new_queue, DatabaseWorkerPool<T>* pool) :
|
||||||
m_queue(new_queue),
|
m_queue(new_queue),
|
||||||
m_pool(t)
|
m_pool(pool)
|
||||||
{
|
{
|
||||||
/// Assign thread to task
|
/// Assign thread to task
|
||||||
activate();
|
activate();
|
||||||
@@ -87,7 +87,7 @@ class DatabaseWorker : public ACE_Task_Base
|
|||||||
DatabaseWorker() : ACE_Task_Base() {}
|
DatabaseWorker() : ACE_Task_Base() {}
|
||||||
ACE_Activation_Queue* m_queue;
|
ACE_Activation_Queue* m_queue;
|
||||||
MySQLConnection* m_conn;
|
MySQLConnection* m_conn;
|
||||||
T* m_pool; // Databasepool we operate on
|
DatabaseWorkerPool<T>* m_pool; // Databasepool we operate on
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class DatabaseWorkerPool
|
|||||||
|
|
||||||
m_delaythreads.resize(delaythreads);
|
m_delaythreads.resize(delaythreads);
|
||||||
for (uint8 i = 0; i < delaythreads; ++i)
|
for (uint8 i = 0; i < delaythreads; ++i)
|
||||||
m_delaythreads[i] = new DatabaseWorker<ThisClass>(m_queue, this);
|
m_delaythreads[i] = new DatabaseWorker<T>(m_queue, this);
|
||||||
|
|
||||||
sLog.outSQLDriver("Databasepool opened succesfuly. %u connections running.", m_connectionCount);
|
sLog.outSQLDriver("Databasepool opened succesfuly. %u connections running.", m_connectionCount);
|
||||||
return true;
|
return true;
|
||||||
@@ -342,13 +342,12 @@ class DatabaseWorkerPool
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef DatabaseWorkerPool<T> ThisClass;
|
|
||||||
|
|
||||||
ACE_Activation_Queue* m_queue; //! Queue shared by async worker threads.
|
ACE_Activation_Queue* m_queue; //! Queue shared by async worker threads.
|
||||||
std::vector<T*> m_connections;
|
std::vector<T*> m_connections;
|
||||||
uint8 m_connectionCount; //! Counter of MySQL connections;
|
uint8 m_connectionCount; //! Counter of MySQL connections;
|
||||||
MySQLConnectionInfo m_connectionInfo;
|
MySQLConnectionInfo m_connectionInfo;
|
||||||
std::vector<DatabaseWorker<ThisClass>*> m_delaythreads; //! Delaythreads (templatized)
|
std::vector<DatabaseWorker<T>*> m_delaythreads; //! Delaythreads (templatized)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user