Files
xahaud/src/ripple/basics
drlongle 8bfdbcbab5 Add logging for exceptions: (#4400)
Log exception messages at several locations.

Previously, these were locations where an exception was caught, but the
exception message was not logged. Logging the exception messages can be
useful for analysis or debugging. The additional logging could have a
small negative performance impact.

Fix #3213.
2023-03-30 10:13:30 -07:00
..
2023-03-30 10:13:30 -07:00
2022-04-06 13:29:48 -07:00
2020-05-05 16:05:22 -07:00
2021-06-01 15:37:15 -07:00
2021-06-03 10:58:24 -07:00
2022-07-17 22:17:33 -07:00
2022-08-25 08:49:04 -07:00
2022-08-25 08:49:04 -07:00

Basics

Utility functions and classes.

ripple/basic should contain no dependencies on other modules.

Choosing a rippled container.

  • std::vector

    • For ordered containers with most insertions or erases at the end.
  • std::deque

    • For ordered containers with most insertions or erases at the start or end.
  • std::list

    • For ordered containers with inserts and erases to the middle.
    • For containers with iterators stable over insert and erase.
    • Generally slower and bigger than std::vector or std::deque except for those cases.
  • std::set

    • For sorted containers.
  • ripple::hash_set

    • Where inserts and contains need to be O(1).
    • For "small" sets, std::set might be faster and smaller.
  • ripple::hardened_hash_set

The following container is deprecated

  • std::unordered_set
  • Use ripple::hash_set instead, which uses a better hashing algorithm.
  • Or use ripple::hardened_hash_set to prevent algorithmic complexity attacks.