diff --git a/server/src/db/database.hpp b/server/src/db/database.hpp index d2abea2..2cbeb70 100644 --- a/server/src/db/database.hpp +++ b/server/src/db/database.hpp @@ -14,7 +14,6 @@ namespace sosc { namespace db { class Query; -typedef std::vector QueryList; class ResultSet { public: diff --git a/server/src/hosts/master.hpp b/server/src/hosts/master.hpp index 5bd0b89..7511284 100644 --- a/server/src/hosts/master.hpp +++ b/server/src/hosts/master.hpp @@ -37,7 +37,7 @@ protected: class MasterIntra { public: explicit MasterIntra(const IntraClient& client); - bool Process(const db::QueryList* queries); + bool Process(const Pool::Queries* queries); bool Close(); bool Close(const Packet& message); @@ -75,20 +75,18 @@ private: int32_t server_id; std::string license; - const db::QueryList* queries; + const Pool::Queries* queries; }; class MasterIntraPool : public Pool { public: MasterIntraPool(); protected: - bool ProcessClient(MasterIntra& client) override { - return client.Process(&this->queries); + bool ProcessClient(MasterIntra& client, const Queries* queries) override { + return client.Process(queries); } void Stop() override; -private: - db::QueryList queries; }; } diff --git a/server/src/hosts/master_intra.cpp b/server/src/hosts/master_intra.cpp index c79c1c0..ff57dd2 100644 --- a/server/src/hosts/master_intra.cpp +++ b/server/src/hosts/master_intra.cpp @@ -136,7 +136,7 @@ bool sosc::MasterIntra::Authentication(sosc::Packet& pck) { if(!pck.Check(4, PCK_ANY, 2, PCK_ANY, 512)) return this->Close(); - db::Query* query = this->queries->at(QRY_LICENSE_CHECK); + db::Query* query = &this->queries[QRY_LICENSE_CHECK]; query->Reset(); query->BindText(pck[2], 0); query->BindBlob(pck[3], 1); diff --git a/server/src/sock/pool.hpp b/server/src/sock/pool.hpp index f71d5e7..f618bf3 100644 --- a/server/src/sock/pool.hpp +++ b/server/src/sock/pool.hpp @@ -42,9 +42,11 @@ public: } virtual void Stop(); + + typedef std::vector Queries; protected: - virtual void SetupQueries(std::vector* queries) {}; - virtual bool ProcessClient(T& client, std::vector* queries) = 0; + virtual void SetupQueries(Queries* queries) {}; + virtual bool ProcessClient(T& client, Queries* queries) = 0; private: bool IsStackFull(int stackCount) const; bool CanAddStack() const; @@ -66,7 +68,7 @@ private: private: void StackThread(); - std::vector queries; + Queries queries; std::thread* thread; Pool* pool; bool is_open; @@ -79,7 +81,7 @@ private: poolinfo_t info; bool is_open; - std::vector queries; + Queries queries; std::vector stacks; friend class Stack; @@ -101,6 +103,7 @@ void Pool::Start() { if(this->is_open) return; + this->queries = std::vector(); this->SetupQueries(&this->queries); for(int i = 0; i < this->info.initial_count; ++i) { this->stacks.push_back(new Stack(this));