diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-07-09 20:14:21 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-07-09 20:48:57 +0200 |
| commit | a2a3c6531152fc5e8b7fabb51e932caa7b8e94f5 (patch) | |
| tree | b5d7d66d89f5ab68597895ee645f11fb378a0d7a /src/server/database/Database | |
| parent | 2bdc0d6e9d0f663892608cbcf10be122b5db80a9 (diff) | |
Core/Database: Add Empty and CancelAll functions to AsyncCallbackProcessor and enable callback concept check
(cherry picked from commit b4f7948dfbe991879dca39dc9b3d53056b8a9e81)
Diffstat (limited to 'src/server/database/Database')
| -rw-r--r-- | src/server/database/Database/DatabaseEnvFwd.h | 7 | ||||
| -rw-r--r-- | src/server/database/Database/QueryCallback.h | 2 | ||||
| -rw-r--r-- | src/server/database/Database/QueryHolder.h | 2 | ||||
| -rw-r--r-- | src/server/database/Database/Transaction.h | 2 |
4 files changed, 10 insertions, 3 deletions
diff --git a/src/server/database/Database/DatabaseEnvFwd.h b/src/server/database/Database/DatabaseEnvFwd.h index c92c8092775..6167e936f76 100644 --- a/src/server/database/Database/DatabaseEnvFwd.h +++ b/src/server/database/Database/DatabaseEnvFwd.h @@ -18,6 +18,7 @@ #ifndef DatabaseEnvFwd_h__ #define DatabaseEnvFwd_h__ +#include "AsyncCallbackProcessorFwd.h" #include <future> #include <memory> @@ -48,9 +49,7 @@ using PreparedQueryResultFuture = std::future<PreparedQueryResult>; using PreparedQueryResultPromise = std::promise<PreparedQueryResult>; class QueryCallback; - -template<typename T> -class AsyncCallbackProcessor; +bool InvokeAsyncCallbackIfReady(QueryCallback& callback); using QueryCallbackProcessor = AsyncCallbackProcessor<QueryCallback>; @@ -63,6 +62,7 @@ template<typename T> class Transaction; class TransactionCallback; +bool InvokeAsyncCallbackIfReady(TransactionCallback& callback); template<typename T> using SQLTransaction = std::shared_ptr<Transaction<T>>; @@ -83,6 +83,7 @@ using LoginDatabaseQueryHolder = SQLQueryHolder<LoginDatabaseConnection>; using WorldDatabaseQueryHolder = SQLQueryHolder<WorldDatabaseConnection>; class SQLQueryHolderCallback; +bool InvokeAsyncCallbackIfReady(SQLQueryHolderCallback& callback); // mysql struct MySQLHandle; diff --git a/src/server/database/Database/QueryCallback.h b/src/server/database/Database/QueryCallback.h index 6cc315964b7..bfdb674e072 100644 --- a/src/server/database/Database/QueryCallback.h +++ b/src/server/database/Database/QueryCallback.h @@ -66,4 +66,6 @@ private: std::queue<QueryCallbackData, std::list<QueryCallbackData>> _callbacks; }; +inline bool InvokeAsyncCallbackIfReady(QueryCallback& callback) { return callback.InvokeIfReady(); } + #endif // _QUERY_CALLBACK_H diff --git a/src/server/database/Database/QueryHolder.h b/src/server/database/Database/QueryHolder.h index 25687fedd81..3a461011c72 100644 --- a/src/server/database/Database/QueryHolder.h +++ b/src/server/database/Database/QueryHolder.h @@ -85,4 +85,6 @@ public: std::function<void(SQLQueryHolderBase const&)> m_callback; }; +inline bool InvokeAsyncCallbackIfReady(SQLQueryHolderCallback& callback) { return callback.InvokeIfReady(); } + #endif diff --git a/src/server/database/Database/Transaction.h b/src/server/database/Database/Transaction.h index 2d1ba4da14f..7d7ae17dfca 100644 --- a/src/server/database/Database/Transaction.h +++ b/src/server/database/Database/Transaction.h @@ -120,4 +120,6 @@ public: std::function<void(bool)> m_callback; }; +inline bool InvokeAsyncCallbackIfReady(TransactionCallback& callback) { return callback.InvokeIfReady(); } + #endif |
