HomePhabricator

- Fixed edge case bug that was preventing packets from being processed due to…
Audit Requiredcd72778a637d

Referenced Files
None
Subscribers
None

Description

  • Fixed edge case bug that was preventing packets from being processed due to the rules around adding connections to process. It was possible when using multiple threads that the NetworkManager would overwrite a NetworkSystems's notification of the updated connection state, which made the Connection look like it was pending procesing to the NetworkSystem. This meant the NetworkSystem stopped notifying the NetworkManager.
  • Updated NetworkManager to use multi-index for connection sets so order is preserved but we can take advantage of fast look up which we now use to prevent the same connection from ending up in the process list multiple times due to the unique constaint in storage. This was added for the previous point to make it more robust and not driven by the connection state.

Details

Auditors
Timotheos
Provenance
0xseantaskerAuthored on
0xseantaskerPushed on May 7 2019, 3:22 PM
Parents
rEEa763298db78d: - Removed ambiguity with namespace usage for placeholders by defining the…
Branches
Unknown
Tags
Unknown