Repository navigation
doc #225: Prepare multi-crate publishing documentation and configuration for v0.2.0 #227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Changes from all commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
d8bd658
feat #43: When a Raft leader is elected, it should first send an empt…
JoshuaChi 8fb91b3
Feature/59 benchmark (#72)
JoshuaChi 2f97f6c
chore(ci) #73: prepare release for v0.1.2
JoshuaChi 1756873
Merge branch 'main' into develop
JoshuaChi e53ba82
feat #79: Snapshot feature, Learner join cluster feature and develope…
JoshuaChi 729e100
feat #79: optimize v0.1.3 CHANGELOG
JoshuaChi cebfdbb
Merge branch 'main' into develop
JoshuaChi 0a057c8
fix #133: Example project: File/RocksDB storage engines can fail to s…
JoshuaChi bd44015
fix #133: fix fmt
JoshuaChi 265c250
fix #133: fix fmt
JoshuaChi 2e88aae
fix #133: fix fmt
JoshuaChi 598f011
fix #133: update REAMDE
JoshuaChi 68de4c7
feat #135: Enable tokio via three-nodes-cluster example
JoshuaChi 3fe4cdc
feat #135: Enable tokio_metrics via three-nodes-cluster example
JoshuaChi f7911c1
feat #135: Enable tokio_metrics via three-nodes-cluster example
JoshuaChi 4e30171
feat #138: v0.1.4 - target 100K throughput
JoshuaChi b03a606
fix #145: fix Bytes compatible bugs in examples folder
JoshuaChi f3f3430
fix #150: type issue
JoshuaChi 32cc365
fix #151: fix mmap bug
JoshuaChi 0713943
fix #152: Update README by introduce new feature from v0.1.4
JoshuaChi ff1e251
fix #153: fix code review feedback
JoshuaChi 8659663
fix #154: code review feedback
JoshuaChi 901008f
fix #155: fix code review feedback
JoshuaChi a3c314d
fix #156: fix code review feedback
JoshuaChi 58f97dc
fix #157: fix code review feedback
JoshuaChi f145325
fix #158, #159: fix code review feedback
JoshuaChi 7e0d96e
fix #164: fix code review bug
JoshuaChi b3e119e
fix #161: fix code review feedback
JoshuaChi 9ea5116
fix #164: fix doc issues
JoshuaChi 2169613
Merge branch 'main' into develop
JoshuaChi be93d34
feat #167: workspace structure (#175)
JoshuaChi d9636d1
feat #172: Feature ttl support (#176)
JoshuaChi 2569af0
fix #172: format code to pass rustfmt checks
JoshuaChi e1143d0
fix #172: Replace tokio-tar with astral-tokio-tar to resolve CVE-2025…
JoshuaChi 803400a
fix #172: Resolve Tokio runtime nesting issue in TTL benchmark
JoshuaChi 69279ee
fix #172: Resolve clippy unused_unit warnings and improve Makefile be…
JoshuaChi 56f1410
feat #174: Implement lock-free Watch mechanism for real-time key moni…
JoshuaChi 6c90b57
feat #179: Implement single-node cluster support for dynamic expansio…
JoshuaChi 97fab24
feat #182: Add EmbeddedEngine API with leader election notification &…
JoshuaChi ec736ab
doc #185: Add service discovery pattern guide for DNS/registry use cases
JoshuaChi c653330
doc #187: Restructure examples documentation to match folder structure
JoshuaChi 635b3cd
doc #187: Fix broken benchmark documentation link in three-nodes-clus…
JoshuaChi 5ed3544
docs #192: add comprehensive read consistency documentation
JoshuaChi e0b4142
feat(bench) #193: add --key-space parameter for hot-key testing
JoshuaChi 9220e58
perf(watch) #194: Skip protobuf decoding when no active watchers exist
JoshuaChi 0312010
docs(bench) #195: Update v0.2.0 benchmark report with accurate v0.1.4…
JoshuaChi 208df8b
feat #196: Implement Watch feature with gRPC streaming and examples
JoshuaChi 6d8ce99
docs #204: Prepare v0.2.0 release documentation
JoshuaChi 2381550
fix #204: Suppress rustls-pemfile unmaintained warning in dependency …
JoshuaChi 4163f9a
fix #204: Fix flaky test and update documentation for v0.2.0
JoshuaChi 9123484
fix #205: Enable graceful shutdown during node startup phase
JoshuaChi 0f94d9e
docs #204: Fix documentation links and optimize workspace doc generation
JoshuaChi 52e1e74
doc #204: Simplify feature flags and add use-case guidance
JoshuaChi f7b0418
chore #204: Prepare v0.2.0 release with workspace cleanup
JoshuaChi 793ab4c
style #204: Fix import ordering to comply with rustfmt stable
JoshuaChi faa62b3
fix #204: Address code review feedback for v0.2.0 release
JoshuaChi 1b55a6f
perf #208: eliminate redundant async calls in leader write hot path
JoshuaChi 86a1278
fix #204: update both fields in update_cluster_metadata to prevent st…
JoshuaChi bcf2239
fix #204: Increase election RPC timeout to fix flaky tests
JoshuaChi f601479
ci #204: Support docs as alias for doc in commit message validation
JoshuaChi b8eb206
docs #204: Prepare v0.2.0 for HN launch - simplify docs and set expec…
JoshuaChi 8204c5c
docs #204: Fix documentation links and add integration mode quick sta…
JoshuaChi 6e0c610
refactor(raft) #209: Architecture review - consolidate v0.2.0 improve…
JoshuaChi 84c1539
doc #224: Fix rustdoc links and improve documentation generation
JoshuaChi 40d7c47
doc #224: Fix markdown table formatting and typo in documentation
JoshuaChi c4a6e1f
doc #225: Prepare multi-crate publishing documentation and configurat…
JoshuaChi ea370fe
chore #227: Merge branch 'main' into develop
JoshuaChi 0db60ee
doc #227: fix working directory and version requirements
JoshuaChi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| # d-engine-client | ||
|
|
||
| [](https://crates.io/crates/d-engine-client) | ||
| [](https://docs.rs/d-engine-client) | ||
|
|
||
| Client library for interacting with d-engine Raft clusters | ||
|
|
||
| --- | ||
|
|
||
| ## ⚠️ You Probably Don't Need This Crate | ||
|
|
||
| **Use [`d-engine`](https://crates.io/crates/d-engine) instead:** | ||
|
|
||
| ```toml | ||
| [dependencies] | ||
| d-engine = { version = "0.2", features = ["client"] } | ||
| ``` | ||
|
|
||
| This provides the same API with simpler dependency management. The `d-engine-client` crate is automatically included when you enable the `client` feature. | ||
|
|
||
| --- | ||
|
|
||
| ## For Contributors | ||
|
|
||
| This crate exists for architectural reasons: | ||
|
|
||
| - **Clean boundaries** - Separates client logic from server implementation | ||
| - **Faster builds** - Workspace members can depend on client without pulling server deps | ||
| - **Testing** - Enables isolated client testing | ||
|
|
||
| If you're building an application, use `d-engine` with `features = ["client"]` instead. | ||
|
|
||
| --- | ||
|
|
||
| ## Quick Reference | ||
|
|
||
| See [`d-engine` README](https://github.com/deventlab/d-engine/blob/main/README.md) for usage examples and documentation. | ||
|
|
||
| --- | ||
|
|
||
| ## License | ||
|
|
||
| MIT or Apache-2.0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| # d-engine-core | ||
|
|
||
| [](https://crates.io/crates/d-engine-core) | ||
| [](https://docs.rs/d-engine-core) | ||
|
|
||
| Pure Raft consensus algorithm - for building custom Raft-based systems | ||
|
|
||
| --- | ||
|
|
||
| ## ⚠️ Internal Crate - Not Ready for Standalone Use | ||
|
|
||
| **Use [`d-engine`](https://crates.io/crates/d-engine) instead.** | ||
|
|
||
| This crate contains the pure Raft consensus algorithm used internally by d-engine. The API is unstable before v1.0. | ||
|
|
||
| ```toml | ||
| # ❌ Don't use this directly | ||
| [dependencies] | ||
| d-engine-core = "0.2" | ||
|
|
||
| # ✅ Use this instead | ||
| [dependencies] | ||
| d-engine = "0.2" | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## For Contributors | ||
|
|
||
| This crate provides the core Raft consensus algorithm: | ||
|
|
||
| - **Leader Election** - Automatic leader election with randomized timeouts | ||
| - **Log Replication** - Reliable log replication to followers | ||
| - **Membership Changes** - Dynamic cluster membership (add/remove nodes) | ||
| - **Snapshot Support** - Log compaction via snapshots | ||
|
|
||
| **Reference integration**: See how [d-engine-server](https://github.com/deventlab/d-engine/tree/main/d-engine-server) uses this crate. | ||
|
|
||
| **Key traits to understand**: | ||
|
|
||
| - `StorageEngine` - Persistent storage for Raft logs | ||
| - `StateMachine` - Application-specific state transitions | ||
| - `LogStore` - Log entry persistence | ||
| - `MetaStore` - Metadata persistence (term, voted_for) | ||
|
|
||
| See the [API documentation](https://docs.rs/d-engine-core) for detailed trait definitions. | ||
|
|
||
| --- | ||
|
|
||
| ## Future Vision | ||
|
|
||
| **Post-1.0 goal**: Become a standalone Raft library with stable API. | ||
|
|
||
| **Current status**: Internal to d-engine, API may change between minor versions. | ||
|
|
||
| --- | ||
|
|
||
| ## Documentation | ||
|
|
||
| For understanding d-engine internals: | ||
|
|
||
| - [Customize Storage Engine](https://docs.rs/d-engine/latest/d_engine/docs/server_guide/customize_storage_engine/index.html) | ||
| - [Customize State Machine](https://docs.rs/d-engine/latest/d_engine/docs/server_guide/customize_state_machine/index.html) | ||
|
|
||
| --- | ||
|
|
||
| ## License | ||
|
|
||
| MIT or Apache-2.0 |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.