From 063c38d4014c4ba5e1ecad37985a96c258b2bcb4 Mon Sep 17 00:00:00 2001 From: Mykola Solianko Date: Thu, 18 Sep 2025 11:19:55 +0300 Subject: [PATCH] network: use vector instead static array for routing Signed-off-by: Mykola Solianko Reviewed-by: Oleksandr Grytsov Reviewed-by: Mykhailo Lohvynenko --- include/network/interfacemanager.hpp | 5 ++--- src/network/interfacemanager.cpp | 8 +++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/include/network/interfacemanager.hpp b/include/network/interfacemanager.hpp index 422edec..0abeab5 100644 --- a/include/network/interfacemanager.hpp +++ b/include/network/interfacemanager.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include @@ -203,7 +204,7 @@ class InterfaceManager : public sm::networkmanager::InterfaceManagerItf, * @param[out] routes routes. * @return Error. */ - Error GetRouteList(Array& routes) const; + Error GetRouteList(std::vector& routes) const; /** * Adds link. @@ -248,8 +249,6 @@ class InterfaceManager : public sm::networkmanager::InterfaceManagerItf, using LinkDeleter = std::function; using UniqueLink = std::unique_ptr; - static constexpr size_t cMaxRouteCount = 20; - RetWithError GetMasterInterfaceIndex() const; RetWithError CreateNetlinkSocket() const; RetWithError CreateLink() const; diff --git a/src/network/interfacemanager.cpp b/src/network/interfacemanager.cpp index 14e41ba..5408555 100644 --- a/src/network/interfacemanager.cpp +++ b/src/network/interfacemanager.cpp @@ -437,7 +437,7 @@ Error InterfaceManager::SetMasterLink(const String& ifname, const String& master return ErrorEnum::eNone; } -Error InterfaceManager::GetRouteList(Array& routes) const +Error InterfaceManager::GetRouteList(std::vector& routes) const { LOG_DBG() << "List routes"; @@ -475,9 +475,7 @@ Error InterfaceManager::GetRouteList(Array& routes) const } } - if (err = routes.PushBack(info); !err.IsNone()) { - return AOS_ERROR_WRAP(err); - } + routes.push_back(std::move(info)); } return ErrorEnum::eNone; @@ -574,7 +572,7 @@ RetWithError InterfaceManager::GetMasterInterfaceIndex() const { LOG_DBG() << "Get master interface index"; - StaticArray routes; + std::vector routes; if (auto err = GetRouteList(routes); !err.IsNone()) { return {-1, err};