Skip to content

v0.9.17

Latest
Compare
Choose a tag to compare
@drmingdrmer drmingdrmer released this 15 Oct 05:06
· 171 commits to main since this release

Summary:

  • Improved:
    • 536a435e Chunk read log entry and check range on startup.
    • dc18dc6f remove Copy bound from NodeId.

Detail:

Improved:

  • Improved: 536a435e Chunk read log entry and check range on startup; by 张炎泼; 2024-09-14

    • Implement chunk-based reading of committed log entries when
      re-applying to state machine upon startup.

    • Add validation for log entry indexes, to avoid applying wrong entries
      to state machine.

  • Improved: dc18dc6f remove Copy bound from NodeId; by 张炎泼; 2024-10-14

    The NodeId type is currently defined as:

    type NodeId: .. + Copy + .. + 'static;

    This commit removes the Copy bound from NodeId.
    This modification will allow the use of non-Copy types as NodeId,
    providing greater flexibility for applications that prefer
    variable-length strings or other non-Copy types for node
    identification.

    This change maintain compatibility by updating derived Copy
    implementations with manual implementations:

    // Before
    #[derive(Copy...)]
    pub struct LogId<NID: NodeId> {}
    
    // After
    impl<NID: Copy> Copy for LogId<NID> {}