#pragma once namespace demonware { class base_server { public: using stream_queue = std::queue; using data_queue = std::queue; base_server(std::string name); base_server(base_server&&) = delete; base_server(const base_server&) = delete; base_server& operator=(base_server&&) = delete; base_server& operator=(const base_server&) = delete; virtual ~base_server() = default; const std::string& get_name() const; uint32_t get_address() const; virtual void frame() = 0; private: std::string name_; std::uint32_t address_ = 0; }; }