Crate pagecache [−] [src]
pagecache
is a lock-free pagecache and log for building high-performance databases.
Reexports
pub use ds::Stack; |
Modules
ds |
auxilliary data structures |
Structs
Config |
Top-level configuration for the system. |
FinalConfig |
A finalized |
Log |
A sequential store which allows users to create reservations placed at known log offsets, used for writing persistent data structures that need to know where to find persisted bits in the future. |
M |
A metric collector for all sled instances running in this process. |
NullMaterializer |
A materializer for things that have nothing to
materialize or recover, like a standalone |
PageCache |
A lock-free pagecache which supports fragmented pages for dramatically improving write throughput. |
Radix |
A simple lock-free radix tree. |
Reservation |
A pending log reservation which can be aborted or completed.
NB the holder should quickly call |
Enums
CacheEntry |
Points to either a memory location or a disk location to page-in data from. |
PageGet |
The result of a |
SegmentMode |
The log may be configured to write data in several different ways, depending on the constraints of the system using it. |
Traits
Materializer |
A user of a |
Functions
debug_delay |
This function is useful for inducing random jitter into our atomic operations, shaking out more possible interleavings quickly. It gets fully elliminated by the compiler in non-test code. |
Type Definitions
LogID |
A log file offset. |
Lsn |
A logical sequence number. |
PageID |
A page identifier. |
SegmentID |
An offset for a storage file segment. |