mirror of
https://github.com/oxen-io/lokinet
synced 2023-12-14 06:53:00 +01:00
use a std::map instead of a std::unordered_map for holding message buffers by their sequentially increasing message id.
when retransmissions happen, they will be executed in a deterministic order by their delivery id. this reduces the jitter from delayed message delivery on link layer as with an unordered map the order of iteration is "random", so when we iterate all messages for retransmission we do it lowest id first (the messages queued first).
This commit is contained in:
parent
74f707ee01
commit
e6ac7e721d
1 changed files with 3 additions and 2 deletions
|
@ -6,6 +6,7 @@
|
|||
#include <iwp/message_buffer.hpp>
|
||||
#include <net/ip_address.hpp>
|
||||
|
||||
#include <map>
|
||||
#include <unordered_set>
|
||||
#include <deque>
|
||||
#include <queue>
|
||||
|
@ -185,8 +186,8 @@ namespace llarp
|
|||
void
|
||||
ResetRates();
|
||||
|
||||
std::unordered_map<uint64_t, InboundMessage> m_RXMsgs;
|
||||
std::unordered_map<uint64_t, OutboundMessage> m_TXMsgs;
|
||||
std::map<uint64_t, InboundMessage> m_RXMsgs;
|
||||
std::map<uint64_t, OutboundMessage> m_TXMsgs;
|
||||
|
||||
/// maps rxid to time recieved
|
||||
std::unordered_map<uint64_t, llarp_time_t> m_ReplayFilter;
|
||||
|
|
Loading…
Reference in a new issue