Files
poc-links/include/nodes/PFIFONode.h
T
Сергей Маринкевич 9b5996abb5 qosd: добавлены атрибуты узлов
Мне показалось, будет удобно использовать вложенную структуру в качестве
аргумента конструктора.
2025-10-08 18:51:16 +07:00

37 lines
998 B
C++

#pragma once
#include <cstdint>
#include "nodes/LeafNode.h"
#include "mixins/FabricMixin.h"
#include "Logger.h"
/// \brief Узел дисциплины PFIFO. Лист.
class PFIFONode : public LeafNode,
public FabricMixin<PFIFONode> {
public:
struct Config {
/// \brief Кол-во пакетов.
std::uint32_t limit;
};
~PFIFONode() {
Logger::get("ConDes").dbg(std::string("--- PFIFO destructor called for: ") + name_);
}
const Config& config() const { return config_; }
private:
friend class FabricMixin<PFIFONode>;
PFIFONode(std::string&& name) : LeafNode(std::move(name), "PFIFO") {
Logger::get("ConDes").dbg(std::string("--- PFIFO constructor called for: ") + name_);
}
PFIFONode(std::string&& name, Config&& config) : LeafNode(std::move(name), "PFIFO"),
config_(std::move(config)) {
Logger::get("ConDes").dbg(std::string("--- PFIFO constructor called for: ") + name_);
}
Config config_{};
};