Use unordered_map for callback storage
Inside object_server, we're storing callbacks in a
flat_map<string,unique_ptr>. Having the callback indirection somewhat
defeats the purpose of the flat map, given there's an indirection anyway
to look up the callback.
This commit moves to using unordered_map, given that it has a smaller
binary size footprint.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I81dfe14751a868d6a13c1ee0a3c8be36fd99fe15
diff --git a/include/sdbusplus/asio/object_server.hpp b/include/sdbusplus/asio/object_server.hpp
index 7260cc4..25b0a86 100644
--- a/include/sdbusplus/asio/object_server.hpp
+++ b/include/sdbusplus/asio/object_server.hpp
@@ -8,7 +8,6 @@
#include <boost/any.hpp>
#include <boost/asio/spawn.hpp>
-#include <boost/container/flat_map.hpp>
#include <sdbusplus/asio/connection.hpp>
#include <sdbusplus/exception.hpp>
#include <sdbusplus/message/read.hpp>
@@ -21,6 +20,7 @@
#include <optional>
#include <set>
#include <tuple>
+#include <unordered_map>
namespace sdbusplus
{
@@ -781,12 +781,10 @@
std::list<std::string> propertyNames_;
std::list<std::string> methodNames_;
std::set<std::string> signalNames_;
- boost::container::flat_map<std::string, std::unique_ptr<callback>>
- callbacksGet_;
- boost::container::flat_map<std::string, std::unique_ptr<callback_set>>
+ std::unordered_map<std::string, std::unique_ptr<callback>> callbacksGet_;
+ std::unordered_map<std::string, std::unique_ptr<callback_set>>
callbacksSet_;
- boost::container::flat_map<std::string, std::unique_ptr<callback>>
- callbacksMethod_;
+ std::unordered_map<std::string, std::unique_ptr<callback>> callbacksMethod_;
std::vector<sd_bus_vtable> vtable_;
std::unique_ptr<sdbusplus::server::interface_t> interface_;