#ifndef THREADDATA_H #define THREADDATA_H #include #include #include #include #include #include #include #include #include "forward_declarations.h" #include "client.h" #include "subscriptionstore.h" #include "utils.h" class ThreadData { std::unordered_map clients_by_fd; std::mutex clients_by_fd_mutex; std::shared_ptr subscriptionStore; public: bool running = true; std::thread thread; int threadnr = 0; int epollfd = 0; ThreadData(int threadnr, std::shared_ptr &subscriptionStore); void moveThreadHere(std::thread &&thread); void quit(); void giveClient(Client_p client); Client_p getClient(int fd); void removeClient(Client_p client); void removeClient(int fd); std::shared_ptr &getSubscriptionStore(); }; #endif // THREADDATA_H