NamseEnt / namseent

Mono Repository for Namse Entertainment Ltd.
GNU Affero General Public License v3.0
13 stars 2 forks source link

bptree - B+Tree implementation - IdSet #982

Closed namse closed 6 days ago

namse commented 2 weeks ago

Overview

This pull request introduces the initial implementation of a B+ Tree in Rust, named IdSet. The IdSet is a B+ Tree designed to store 128-bit unique IDs with the following features:

Files to Review

  1. lib.rs

    • Entry point for the B+ Tree library.
    • Includes module declarations and imports.
  2. wal.rs

    • Implementation of the Write-Ahead Log (WAL) for the B+ Tree.
    • Handles logging and recovery mechanisms.
  3. pages.rs

    • Defines the structure and operations for pages in the B+ Tree.
    • Includes Page, PageOffset, Header, LeafNode, and InternalNode structures.
  4. operator.rs

    • Defines the operations for manipulating the B+ Tree.
    • Includes methods for inserting, deleting, and searching for IDs.
  5. mod.rs

    • Module definition for the B+ Tree implementation.
    • Includes sub-modules and type definitions.
  6. frontend.rs

    • Frontend for the IdSet data structure.
    • Provides an API for interacting with the B+ Tree.
  7. fd.rs

    • Custom file descriptor management for read/write operations.
    • Includes ReadFd and WriteFd structures.
  8. cache.rs

    • Cache management for the B+ Tree pages.
    • Implements a caching mechanism to improve read performance.
  9. backend.rs

    • Backend operations for the B+ Tree.
    • Manages the interaction between the frontend and the storage.
  10. checksum.rs

    • Checksum calculation for data integrity.
    • Uses CRC-64 for checksum computation.

Review Focus

--- Copilot generated.

namse commented 6 days ago

I will open with map version later.