use boost::unordered_flat_map for tags if boost >= 1.81

This commit is contained in:
orignal committed 2026-10-29 15:24:28 -04:00
1 parent e81ffe8b59
commit 6ec6e320d8
1 file changed
+8
+8
View File
@@ -19,6 +19,10 @@
#include <mutex>
#include <memory>
#include <random>
#include <boost/version.hpp>
#if (BOOST_VERSION >= 108100) // 1.81
#include <boost/unordered/unordered_flat_map.hpp>
#endif
#include "Crypto.h"
#include "I2NPProtocol.h"
#include "LeaseSet.h"
@@ -329,7 +333,11 @@ namespace garlic
// incoming
int m_NumRatchetInboundTags;
std::unordered_map<SessionTag, std::shared_ptr<AESDecryption>, std::hash<i2p::data::Tag<32> > > m_Tags;
#if (BOOST_VERSION >= 108100) // 1.81
boost::unordered_flat_map<uint64_t, ECIESX25519AEADRatchetIndexTagset> m_ECIESx25519Tags; // session tag -> session
#else
std::unordered_map<uint64_t, ECIESX25519AEADRatchetIndexTagset> m_ECIESx25519Tags; // session tag -> session
#endif
// DeliveryStatus
std::mutex m_DeliveryStatusSessionsMutex;
std::unordered_map<uint32_t, GarlicRoutingSessionPtr> m_DeliveryStatusSessions; // msgID -> session