aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared')
-rw-r--r--src/server/shared/Cryptography/ARC4.h2
-rw-r--r--src/server/shared/Cryptography/BigNumber.h1
-rw-r--r--src/server/shared/Database/DatabaseWorkerPool.h10
-rw-r--r--src/server/shared/Database/MySQLConnection.h8
-rw-r--r--src/server/shared/Database/QueryResult.h8
-rw-r--r--src/server/shared/Database/Transaction.h2
-rw-r--r--src/server/shared/Debugging/Errors.cpp11
-rw-r--r--src/server/shared/Logging/Appender.h4
-rw-r--r--src/server/shared/Logging/AppenderConsole.h2
-rw-r--r--src/server/shared/Logging/AppenderFile.h2
-rw-r--r--src/server/shared/Threading/Callback.h6
-rw-r--r--src/server/shared/Threading/DelayExecutor.cpp18
-rw-r--r--src/server/shared/Threading/DelayExecutor.h2
13 files changed, 37 insertions, 39 deletions
diff --git a/src/server/shared/Cryptography/ARC4.h b/src/server/shared/Cryptography/ARC4.h
index 5304b0730a6..11d3d4ba87b 100644
--- a/src/server/shared/Cryptography/ARC4.h
+++ b/src/server/shared/Cryptography/ARC4.h
@@ -19,8 +19,8 @@
#ifndef _AUTH_SARC4_H
#define _AUTH_SARC4_H
-#include "Define.h"
#include <openssl/evp.h>
+#include "Define.h"
class ARC4
{
diff --git a/src/server/shared/Cryptography/BigNumber.h b/src/server/shared/Cryptography/BigNumber.h
index 848b3da3e2d..684a25e8801 100644
--- a/src/server/shared/Cryptography/BigNumber.h
+++ b/src/server/shared/Cryptography/BigNumber.h
@@ -22,7 +22,6 @@
#include <memory>
#include "Define.h"
-
struct bignum_st;
class BigNumber
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index e56dcc329cd..4b9e887f341 100644
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -18,8 +18,6 @@
#ifndef _DATABASEWORKERPOOL_H
#define _DATABASEWORKERPOOL_H
-#include <ace/Thread_Mutex.h>
-
#include "Common.h"
#include "Callback.h"
#include "MySQLConnection.h"
@@ -51,7 +49,6 @@ class DatabaseWorkerPool
/* Activity state */
DatabaseWorkerPool() : _connectionInfo(NULL)
{
- _messageQueue = new ACE_Message_Queue<ACE_SYNCH>(8 * 1024 * 1024, 8 * 1024 * 1024);
_queue = new ProducerConsumerQueue<SQLOperation*>();
memset(_connectionCount, 0, sizeof(_connectionCount));
_connections.resize(IDX_SIZE);
@@ -125,9 +122,7 @@ class DatabaseWorkerPool
for (uint8 i = 0; i < _connectionCount[IDX_SYNCH]; ++i)
_connections[IDX_SYNCH][i]->Close();
- //! Deletes the ACE_Activation_Queue object and its underlying ACE_Message_Queue
delete _queue;
- delete _messageQueue;
TC_LOG_INFO("sql.driver", "All connections on DatabasePool '%s' closed.", GetDatabaseName());
@@ -410,7 +405,7 @@ class DatabaseWorkerPool
//! Will be wrapped in a transaction if valid object is present, otherwise executed standalone.
void ExecuteOrAppend(SQLTransaction& trans, PreparedStatement* stmt)
{
- if (trans.null())
+ if (!trans)
Execute(stmt);
else
trans->Append(stmt);
@@ -420,7 +415,7 @@ class DatabaseWorkerPool
//! Will be wrapped in a transaction if valid object is present, otherwise executed standalone.
void ExecuteOrAppend(SQLTransaction& trans, const char* sql)
{
- if (trans.null())
+ if (!trans)
Execute(sql);
else
trans->Append(sql);
@@ -517,7 +512,6 @@ class DatabaseWorkerPool
IDX_SIZE
};
- ACE_Message_Queue<ACE_SYNCH>* _messageQueue; //! Message Queue used by ACE_Activation_Queue
ProducerConsumerQueue<SQLOperation*>* _queue; //! Queue shared by async worker threads.
std::vector< std::vector<T*> > _connections;
uint32 _connectionCount[2]; //! Counter of MySQL connections;
diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/shared/Database/MySQLConnection.h
index 3b7efeb5846..61b3b37cbc2 100644
--- a/src/server/shared/Database/MySQLConnection.h
+++ b/src/server/shared/Database/MySQLConnection.h
@@ -15,8 +15,6 @@
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <ace/Activation_Queue.h>
-
#include "DatabaseWorkerPool.h"
#include "Transaction.h"
#include "Util.h"
@@ -100,13 +98,13 @@ class MySQLConnection
{
/// Tries to acquire lock. If lock is acquired by another thread
/// the calling parent will just try another connection
- return m_Mutex.tryacquire() != -1;
+ return m_Mutex.try_lock();
}
void Unlock()
{
/// Called by parent databasepool. Will let other threads access this connection
- m_Mutex.release();
+ m_Mutex.unlock();
}
MYSQL* GetHandle() { return m_Mysql; }
@@ -131,7 +129,7 @@ class MySQLConnection
MYSQL * m_Mysql; //! MySQL Handle.
MySQLConnectionInfo& m_connectionInfo; //! Connection info (used for logging)
ConnectionFlags m_connectionFlags; //! Connection flags (for preparing relevant statements)
- ACE_Thread_Mutex m_Mutex;
+ std::mutex m_Mutex;
MySQLConnection(MySQLConnection const& right) = delete;
MySQLConnection& operator=(MySQLConnection const& right) = delete;
diff --git a/src/server/shared/Database/QueryResult.h b/src/server/shared/Database/QueryResult.h
index 4795fef4a4c..e8c277c03cf 100644
--- a/src/server/shared/Database/QueryResult.h
+++ b/src/server/shared/Database/QueryResult.h
@@ -19,9 +19,7 @@
#ifndef QUERYRESULT_H
#define QUERYRESULT_H
-#include "AutoPtr.h"
-#include <ace/Thread_Mutex.h>
-
+#include <memory>
#include "Field.h"
#ifdef _WIN32
@@ -60,7 +58,7 @@ class ResultSet
ResultSet& operator=(ResultSet const& right) = delete;
};
-typedef Trinity::AutoPtr<ResultSet, ACE_Thread_Mutex> QueryResult;
+typedef std::shared_ptr<ResultSet> QueryResult;
class PreparedResultSet
{
@@ -107,7 +105,7 @@ class PreparedResultSet
PreparedResultSet& operator=(PreparedResultSet const& right) = delete;
};
-typedef Trinity::AutoPtr<PreparedResultSet, ACE_Thread_Mutex> PreparedQueryResult;
+typedef std::shared_ptr<PreparedResultSet> PreparedQueryResult;
#endif
diff --git a/src/server/shared/Database/Transaction.h b/src/server/shared/Database/Transaction.h
index cb28f0ad876..c7cbbbbe712 100644
--- a/src/server/shared/Database/Transaction.h
+++ b/src/server/shared/Database/Transaction.h
@@ -50,7 +50,7 @@ class Transaction
bool _cleanedUp;
};
-typedef Trinity::AutoPtr<Transaction, ACE_Thread_Mutex> SQLTransaction;
+typedef std::shared_ptr<Transaction> SQLTransaction;
/*! Low level class*/
class TransactionTask : public SQLOperation
diff --git a/src/server/shared/Debugging/Errors.cpp b/src/server/shared/Debugging/Errors.cpp
index d656dc3fb4a..62e97d56d42 100644
--- a/src/server/shared/Debugging/Errors.cpp
+++ b/src/server/shared/Debugging/Errors.cpp
@@ -18,17 +18,15 @@
#include "Errors.h"
-#include <ace/Stack_Trace.h>
-#include <ace/OS_NS_unistd.h>
#include <cstdlib>
+#include <thread>
namespace Trinity {
void Assert(char const* file, int line, char const* function, char const* message)
{
- ACE_Stack_Trace st;
- fprintf(stderr, "\n%s:%i in %s ASSERTION FAILED:\n %s\n%s\n",
- file, line, function, message, st.c_str());
+ fprintf(stderr, "\n%s:%i in %s ASSERTION FAILED:\n %s\n",
+ file, line, function, message);
*((volatile int*)NULL) = 0;
exit(1);
}
@@ -37,7 +35,8 @@ void Fatal(char const* file, int line, char const* function, char const* message
{
fprintf(stderr, "\n%s:%i in %s FATAL ERROR:\n %s\n",
file, line, function, message);
- ACE_OS::sleep(10);
+
+ std::this_thread::sleep_for(std::chrono::seconds(10));
*((volatile int*)NULL) = 0;
exit(1);
}
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h
index 84d0dc14eca..67213d0ddd0 100644
--- a/src/server/shared/Logging/Appender.h
+++ b/src/server/shared/Logging/Appender.h
@@ -18,10 +18,10 @@
#ifndef APPENDER_H
#define APPENDER_H
-#include "Define.h"
-#include <time.h>
#include <unordered_map>
#include <string>
+#include <time.h>
+#include "Define.h"
// Values assigned have their equivalent in enum ACE_Log_Priority
enum LogLevel
diff --git a/src/server/shared/Logging/AppenderConsole.h b/src/server/shared/Logging/AppenderConsole.h
index 1aaa74e96ec..b8f15b4fa0f 100644
--- a/src/server/shared/Logging/AppenderConsole.h
+++ b/src/server/shared/Logging/AppenderConsole.h
@@ -18,8 +18,8 @@
#ifndef APPENDERCONSOLE_H
#define APPENDERCONSOLE_H
-#include "Appender.h"
#include <string>
+#include "Appender.h"
enum ColorTypes
{
diff --git a/src/server/shared/Logging/AppenderFile.h b/src/server/shared/Logging/AppenderFile.h
index 592742c2184..a600c92d152 100644
--- a/src/server/shared/Logging/AppenderFile.h
+++ b/src/server/shared/Logging/AppenderFile.h
@@ -18,8 +18,8 @@
#ifndef APPENDERFILE_H
#define APPENDERFILE_H
-#include "Appender.h"
#include <atomic>
+#include "Appender.h"
class AppenderFile: public Appender
{
diff --git a/src/server/shared/Threading/Callback.h b/src/server/shared/Threading/Callback.h
index a6aa11b3958..5d9dc9a760d 100644
--- a/src/server/shared/Threading/Callback.h
+++ b/src/server/shared/Threading/Callback.h
@@ -26,10 +26,6 @@ typedef std::promise<QueryResult> QueryResultPromise;
typedef std::future<PreparedQueryResult> PreparedQueryResultFuture;
typedef std::promise<PreparedQueryResult> PreparedQueryResultPromise;
-/*! A simple template using ACE_Future to manage callbacks from the thread and object that
- issued the request. <ParamType> is variable type of parameter that is used as parameter
- for the callback function.
-*/
#define CALLBACK_STAGE_INVALID uint8(-1)
template <typename Result, typename ParamType, bool chain = false>
@@ -210,4 +206,4 @@ class QueryCallback_2
QueryCallback_2& operator=(QueryCallback_2 const& right) = delete;
};
-#endif \ No newline at end of file
+#endif
diff --git a/src/server/shared/Threading/DelayExecutor.cpp b/src/server/shared/Threading/DelayExecutor.cpp
index 0db45a8ff8f..ef3c028fd97 100644
--- a/src/server/shared/Threading/DelayExecutor.cpp
+++ b/src/server/shared/Threading/DelayExecutor.cpp
@@ -1,4 +1,20 @@
-#include <ace/Singleton.h>
+/*
+* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/>
+*
+* This program is free software; you can redistribute it and/or modify it
+* under the terms of the GNU General Public License as published by the
+* Free Software Foundation; either version 2 of the License, or (at your
+* option) any later version.
+*
+* 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 General Public License for
+* more details.
+*
+* You should have received a copy of the GNU General Public License along
+* with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
#include <ace/Thread_Mutex.h>
#include <ace/Log_Msg.h>
diff --git a/src/server/shared/Threading/DelayExecutor.h b/src/server/shared/Threading/DelayExecutor.h
index 5eaaacdb98b..2a3721263fc 100644
--- a/src/server/shared/Threading/DelayExecutor.h
+++ b/src/server/shared/Threading/DelayExecutor.h
@@ -8,7 +8,6 @@
class DelayExecutor : protected ACE_Task_Base
{
public:
-
DelayExecutor();
virtual ~DelayExecutor();
@@ -25,7 +24,6 @@ class DelayExecutor : protected ACE_Task_Base
virtual int svc();
private:
-
ACE_Activation_Queue queue_;
ACE_Method_Request* pre_svc_hook_;
ACE_Method_Request* post_svc_hook_;