qosd: прокинут kind до BaseNode

Теперь конкретные узлы не сами устанавливают себе `kind_`, а делают это
через `BaseNode` — единую точку входа.
This commit is contained in:
Сергей Маринкевич
2025-10-08 17:39:31 +07:00
parent 43b44d7ee5
commit eff0b26a53
6 changed files with 14 additions and 18 deletions
+2 -1
View File
@@ -9,7 +9,8 @@ class BaseNode : public virtual INode {
public:
/// \brief Конструктор узла.
/// \param name Неуникальное имя узла.
BaseNode(std::string name) : name_(std::move(name)) {
BaseNode(std::string name, std::string kind) :
name_(std::move(name)), kind_(std::move(kind)) {
Logger::get("ConDes").dbg(std::string("--- Base constructor called for: ") + name_);
}
/// \brief Неуникальное имя узла.
+2 -1
View File
@@ -15,7 +15,8 @@ public:
Logger::get("ConDes").dbg(std::string("--- Complex destructor called for: ") + name_);
}
protected:
ComplexNode(std::string name) : BaseNode(std::move(name)) {
ComplexNode(std::string name, std::string kind) :
BaseNode(std::move(name), std::move(kind)) {
Logger::get("ConDes").dbg(std::string("--- Complex constructor called for: ") + name_);
}
};
+2 -4
View File
@@ -36,14 +36,12 @@ public:
const Config& config() const { return config_; }
private:
friend class FabricMixin<HTBNode>;
HTBNode(std::string&& name) : ComplexNode(std::move(name)) {
kind_ = "HTB";
HTBNode(std::string&& name) : ComplexNode(std::move(name), "HTB") {
Logger::get("ConDes").dbg(std::string("--- HTB constructor called for: ") + name_);
}
HTBNode(std::string&& name, Config&& config) : ComplexNode(std::move(name)),
HTBNode(std::string&& name, Config&& config) : ComplexNode(std::move(name), "HTB"),
config_(std::move(config)) {
kind_ = "HTB";
Logger::get("ConDes").dbg(std::string("--- HTB constructor called for: ") + name_);
}
+2 -2
View File
@@ -15,8 +15,8 @@ public:
Logger::get("ConDes").dbg(std::string("--- Leaf destructor called for: ") + name_);
}
protected:
LeafNode(std::string name, std::string kind) : BaseNode(std::move(name)) {
kind_ = std::move(kind);
LeafNode(std::string name, std::string kind) :
BaseNode(std::move(name), std::move(kind)) {
Logger::get("ConDes").dbg(std::string("--- Leaf constructor called for: ") + name_ + ", kind=" + kind_);
}
};
+3 -5
View File
@@ -31,14 +31,12 @@ public:
const Config& config() const { return config_; }
private:
friend class FabricMixin<SFQNode>;
SFQNode(std::string&& name) : BaseNode(std::move(name)) {
kind_ = "SFQ";
SFQNode(std::string&& name) : BaseNode(std::move(name), "SFQ") {
Logger::get("ConDes").dbg(std::string("--- SFQ constructor called for: ") + name_);
}
SFQNode(std::string&& name, Config&& config)
: BaseNode(std::move(name)), config_(std::move(config)) {
kind_ = "SFQ";
SFQNode(std::string&& name, Config&& config) : BaseNode(std::move(name), "SFQ"),
config_(std::move(config)) {
Logger::get("ConDes").dbg(std::string("--- SFQ constructor called for: ") + name_);
}
+3 -5
View File
@@ -27,14 +27,12 @@ public:
const Config& config() const { return config_; }
private:
friend class FabricMixin<WREDNode>;
WREDNode(std::string&& name) : BaseNode(std::move(name)) {
kind_ = "WRED";
WREDNode(std::string&& name) : BaseNode(std::move(name), "WRED") {
Logger::get("ConDes").dbg(std::string("--- WRED constructor called for: ") + name_);
}
WREDNode(std::string&& name, Config&& config)
: BaseNode(std::move(name)), config_(std::move(config)) {
kind_ = "WRED";
WREDNode(std::string&& name, Config&& config) : BaseNode(std::move(name), "WRED"),
config_(std::move(config)) {
Logger::get("ConDes").dbg(std::string("--- WRED constructor called for: ") + name_);
}