#pragma once #include #include "Context.hpp" #include "managers/ReceiveManager.hpp" #include "managers/SendManager.hpp" namespace drp::managers { /** * The Manager. * serve as the mainloop of the program. */ class Manager { public: Manager(const std::string& address, const std::string& port, bool useIpv6 = false); ~Manager(); void loop(); private: std::shared_ptr context; /// context used between the events types std::unique_ptr sendManager; std::unique_ptr receiveManager; }; }