Browse Source

replaced map by unordered_map

pull/1474/head
orignal 5 years ago
parent
commit
77440c235d
  1. 12
      libi2pd/Garlic.h
  2. 12
      libi2pd/Tag.h

12
libi2pd/Garlic.h

@ -2,7 +2,7 @@
#define GARLIC_H__ #define GARLIC_H__
#include <inttypes.h> #include <inttypes.h>
#include <map> #include <unordered_map>
#include <list> #include <list>
#include <string> #include <string>
#include <thread> #include <thread>
@ -252,14 +252,14 @@ namespace garlic
// outgoing sessions // outgoing sessions
int m_NumTags; int m_NumTags;
std::mutex m_SessionsMutex; std::mutex m_SessionsMutex;
std::map<i2p::data::IdentHash, ElGamalAESSessionPtr> m_Sessions; std::unordered_map<i2p::data::IdentHash, ElGamalAESSessionPtr> m_Sessions;
std::map<i2p::data::Tag<32>, ECIESX25519AEADRatchetSessionPtr> m_ECIESx25519Sessions; // static key -> session std::unordered_map<i2p::data::Tag<32>, ECIESX25519AEADRatchetSessionPtr> m_ECIESx25519Sessions; // static key -> session
// incoming // incoming
std::map<SessionTag, std::shared_ptr<AESDecryption> > m_Tags; std::unordered_map<SessionTag, std::shared_ptr<AESDecryption> > m_Tags;
std::map<uint64_t, ECIESX25519AEADRatchetSessionPtr> m_ECIESx25519Tags; // session tag -> session std::unordered_map<uint64_t, ECIESX25519AEADRatchetSessionPtr> m_ECIESx25519Tags; // session tag -> session
// DeliveryStatus // DeliveryStatus
std::mutex m_DeliveryStatusSessionsMutex; std::mutex m_DeliveryStatusSessionsMutex;
std::map<uint32_t, ElGamalAESSessionPtr> m_DeliveryStatusSessions; // msgID -> session std::unordered_map<uint32_t, ElGamalAESSessionPtr> m_DeliveryStatusSessions; // msgID -> session
public: public:

12
libi2pd/Tag.h

@ -93,4 +93,16 @@ private:
} // data } // data
} // i2p } // i2p
namespace std
{
// hash for std::unordered_map
template<size_t sz> struct hash<i2p::data::Tag<sz> >
{
size_t operator()(const i2p::data::Tag<sz>& s) const
{
return s.GetLL ()[0];
}
};
}
#endif /* TAG_H__ */ #endif /* TAG_H__ */

Loading…
Cancel
Save