diff options
author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-05-30 15:43:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-30 17:43:54 +0200 |
commit | 141ada19b00fb9d0dd1a260d86d97bbb709a0f5e (patch) | |
tree | 03c8559a245f404d7d84655fe5c5066ec22e2ee7 /src/server/database/Database/DatabaseEnvFwd.h | |
parent | 00bc6e7d54e924dabaf4636a4b8084f0db067194 (diff) |
Cherry pick some db commits (#24713)
* Core/DBLayer: Implement async transaction completion callbacks
(cherry picked from commit 0f0ca3a9194d76afa0227943e86469ad8368c5e2)
# Conflicts:
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/bnetserver/Server/Session.cpp
# src/server/bnetserver/Server/Session.h
# src/server/database/Database/Transaction.cpp
# src/server/game/Handlers/CharacterHandler.cpp
# src/server/game/Handlers/SpellHandler.cpp
# src/server/game/Server/WorldSession.cpp
# src/server/game/Server/WorldSocket.cpp
# src/server/game/Server/WorldSocket.h
* Core/Misc: Fixed char enum packet sometimes not showing newly created character when client latency is too low
(cherry picked from commit fc9d2e728e5c21bd2a1645a29be60d0e280ad940)
# Conflicts:
# src/server/game/Handlers/CharacterHandler.cpp
* Fix no-pch build
* Core/Player: Wait for correct transaction on character creation
(cherry picked from commit 01c68b2aa2ed25ea9b4c007f238a0e958f6525b1)
# Conflicts:
# src/server/game/Entities/Player/Player.cpp
* Fix warning
* Remove unused login transaction
Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src/server/database/Database/DatabaseEnvFwd.h')
-rw-r--r-- | src/server/database/Database/DatabaseEnvFwd.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/server/database/Database/DatabaseEnvFwd.h b/src/server/database/Database/DatabaseEnvFwd.h index dd8cc464cae..930957fb898 100644 --- a/src/server/database/Database/DatabaseEnvFwd.h +++ b/src/server/database/Database/DatabaseEnvFwd.h @@ -24,9 +24,9 @@ class Field; class ResultSet; -typedef std::shared_ptr<ResultSet> QueryResult; -typedef std::future<QueryResult> QueryResultFuture; -typedef std::promise<QueryResult> QueryResultPromise; +using QueryResult = std::shared_ptr<ResultSet>; +using QueryResultFuture = std::future<QueryResult>; +using QueryResultPromise = std::promise<QueryResult>; class CharacterDatabaseConnection; class LoginDatabaseConnection; @@ -42,17 +42,27 @@ using LoginDatabasePreparedStatement = PreparedStatement<LoginDatabaseConnection using WorldDatabasePreparedStatement = PreparedStatement<WorldDatabaseConnection>; class PreparedResultSet; -typedef std::shared_ptr<PreparedResultSet> PreparedQueryResult; -typedef std::future<PreparedQueryResult> PreparedQueryResultFuture; -typedef std::promise<PreparedQueryResult> PreparedQueryResultPromise; +using PreparedQueryResult = std::shared_ptr<PreparedResultSet>; +using PreparedQueryResultFuture = std::future<PreparedQueryResult>; +using PreparedQueryResultPromise = std::promise<PreparedQueryResult>; class QueryCallback; +template<typename T> +class AsyncCallbackProcessor; + +using QueryCallbackProcessor = AsyncCallbackProcessor<QueryCallback>; + class TransactionBase; +using TransactionFuture = std::future<bool>; +using TransactionPromise = std::promise<bool>; + template<typename T> class Transaction; +class TransactionCallback; + template<typename T> using SQLTransaction = std::shared_ptr<Transaction<T>>; @@ -61,8 +71,8 @@ using LoginDatabaseTransaction = SQLTransaction<LoginDatabaseConnection>; using WorldDatabaseTransaction = SQLTransaction<WorldDatabaseConnection>; class SQLQueryHolderBase; -typedef std::future<SQLQueryHolderBase*> QueryResultHolderFuture; -typedef std::promise<SQLQueryHolderBase*> QueryResultHolderPromise; +using QueryResultHolderFuture = std::future<SQLQueryHolderBase*>; +using QueryResultHolderPromise = std::promise<SQLQueryHolderBase*>; template<typename T> class SQLQueryHolder; |