Skip to content

dan-da/crdt_tree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status crates.io docs.rs

crdt_tree

A Conflict-free Replicated Data Type (CRDT) Tree written in Rust.

MaidSafe website SAFE Network Forum

About

This crate aims to be an accurate implementation of the tree crdt algorithm described in the paper:

A highly-available move operation for replicated trees and distributed filesystems by M. Kleppmann, et al.

Please refer to the paper for a description of the algorithm's properties.

For clarity, data structures in this implementation are named the same as in the paper (State, Tree) or close to (OpMove --> Move, LogOpMove --> LogOp). Some are not explicitly named in the paper, such as TreeId,TreeMeta, TreeNode, Clock.

Additional References

Usage

See examples/tree.rs or tests/tree.rs.

In particular, the Replica struct in examples/tree.rs may be helpful.

Other Implementations

There is a PHP implementation here.

License

This SAFE Network library is dual-licensed under the Modified BSD (LICENSE-BSD https://opensource.org/licenses/BSD-3-Clause) or the MIT license (LICENSE-MIT https://opensource.org/licenses/MIT) at your option.

Contributing

Want to contribute? Great 🎉

There are many ways to give back to the project, whether it be writing new code, fixing bugs, or just reporting errors. All forms of contributions are encouraged!

For instructions on how to contribute, see our Guide to contributing.

About

No description, website, or topics provided.

Resources

License

BSD-3-Clause, MIT licenses found

Licenses found

BSD-3-Clause
LICENSE-BSD
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%