#pragma once #include #include "nodes/LeafNode.h" #include "mixins/FabricMixin.h" #include "Logger.h" /// \brief Узел дисциплины BFIFO. Лист. class BFIFONode : public LeafNode, public FabricMixin { public: struct Config { /// Размер очереди в байтах. std::uint64_t limit = 0; }; ~BFIFONode() { Logger::get("ConDes").dbg(std::string("--- BFIFO destructor called for: ") + name_); } const Config& config() const { return config_; } private: friend class FabricMixin; BFIFONode(std::string&& name) : LeafNode(std::move(name), "BFIFO") { Logger::get("ConDes").dbg(std::string("--- BFIFO constructor called for: ") + name_); } BFIFONode(std::string&& name, Config&& config) : LeafNode(std::move(name), "BFIFO"), config_(std::move(config)) { Logger::get("ConDes").dbg(std::string("--- BFIFO constructor called for: ") + name_); } Config config_{}; };