Crate bitcoin_support

source ·

Modules

Structs

  • | An arena manages a contiguous region | of memory by dividing it into chunks. |
  • | Memory statistics. |
  • | Pool for locked memory chunks. | | To avoid sensitive key data from being | swapped to disk, the memory in this pool | is locked/pinned. | | An arena manages a contiguous region | of memory. The pool starts out with one | arena but can grow to multiple arenas | if the need arises. | | Unlike a normal C heap, the administrative | structures are separate from the managed | memory. This has been done as the sizes | and bases of objects are not in themselves | sensitive information, as to conserve | precious locked memory. In some operating | systems the amount of memory that can | be locked is small. |
  • | Singleton class to keep track of locked | (ie, non-swappable) memory, for use | in std::allocator templates. | | Some implementations of the STL allocate | memory in some constructors (i.e., | see MSVC’s vector implementation where | it allocates 1 byte of memory in the allocator.) | | Due to the unpredictable order of static | initializers, we have to make sure the | LockedPoolManager instance exists | before any other STL-based objects | that use secure_allocator are created. | So instead of having LockedPoolManager | also be static-initialized, it is created | on demand. |
  • | LockedPageAllocator specialized | for OSes that don’t try to be special | snowflakes. |
  • | Allocator that locks its contents from | being paged out of memory and clears | its contents before deletion. |

Traits

Functions

Type Definitions