Leka
A low-latency C++20 price-time-priority limit order book and matching engine
▶ Replay viewer
Loading...
Searching...
No Matches
lob::OrderPool::Page Struct Reference
Collaboration diagram for lob::OrderPool::Page:

Public Member Functions

 Page ()
 Allocates one aligned page and initializes its external free list.
 ~Page ()
 Returns the page mapping to the operating system.
OrderrawSlot (std::size_t index)
Orderslot (std::size_t index)

Public Attributes

void * storage
std::array< std::uint16_t, SlotsPerPage > nextFree {}
std::array< bool, SlotsPerPage > occupied {}
std::uint16_t firstFree {0}
std::size_t freeCount {SlotsPerPage}
PagepreviousFreePage {nullptr}
PagenextFreePage {nullptr}
bool onFreePageList {false}

Detailed Description

Definition at line 17 of file order_pool.cpp.

Constructor & Destructor Documentation

◆ Page()

lob::OrderPool::Page::Page ( )
inline

Allocates one aligned page and initializes its external free list.

Definition at line 28 of file order_pool.cpp.

◆ ~Page()

lob::OrderPool::Page::~Page ( )
inline

Returns the page mapping to the operating system.

Definition at line 60 of file order_pool.cpp.

Member Function Documentation

◆ rawSlot()

Order * lob::OrderPool::Page::rawSlot ( std::size_t index)
inline

Definition at line 64 of file order_pool.cpp.

◆ slot()

Order * lob::OrderPool::Page::slot ( std::size_t index)
inline

Definition at line 69 of file order_pool.cpp.

Member Data Documentation

◆ storage

void* lob::OrderPool::Page::storage

Definition at line 18 of file order_pool.cpp.

◆ nextFree

std::array<std::uint16_t, SlotsPerPage> lob::OrderPool::Page::nextFree {}

Definition at line 19 of file order_pool.cpp.

◆ occupied

std::array<bool, SlotsPerPage> lob::OrderPool::Page::occupied {}

Definition at line 20 of file order_pool.cpp.

◆ firstFree

std::uint16_t lob::OrderPool::Page::firstFree {0}

Definition at line 21 of file order_pool.cpp.

◆ freeCount

std::size_t lob::OrderPool::Page::freeCount {SlotsPerPage}

Definition at line 22 of file order_pool.cpp.

◆ previousFreePage

Page* lob::OrderPool::Page::previousFreePage {nullptr}

Definition at line 23 of file order_pool.cpp.

◆ nextFreePage

Page* lob::OrderPool::Page::nextFreePage {nullptr}

Definition at line 24 of file order_pool.cpp.

◆ onFreePageList

bool lob::OrderPool::Page::onFreePageList {false}

Definition at line 25 of file order_pool.cpp.


The documentation for this struct was generated from the following file: