summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2022-12-28Transform codebase to use thiserrorMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-11-08Fix clippy: Do not clone copy typeMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-11-08Fix clippy: Outsource complex type definitionMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-11-08Fix clippy: redundant file namesMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2022-11-08cargo-fmtMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-05Add getters for backendMatthias Beyer
This is necessary if the user wants to talk to the backend without working with the DAG. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-05Add AsycnDag::head() to get current HEAD idMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-05Add AsyncDag::load()Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-05impl Merger for Fn(Id, Id) -> Result<Node>Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Remove AsyncDag::get_next()Matthias Beyer
This interface is not particularly useful. Hence remove it. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Remove unused variables, importsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Remove NodeId:: std::hash::HashMatthias Beyer
Because this requirement is not needed. Also add a comment that NodeId should be cheap to clone. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Remove Node::id() requirementMatthias Beyer
A `Node` instance should not need to know about its id, because this would restrict us in case of IPFS, where we know the ID only _after_ adding the data to the storage. This commit thus removes the requirement `Node::id()`. The interface `DagBackend::get()` now returns the `NodeId` for the `Node` as well. This is mostly because it makes the implementation of `AsyncDag` less complicated. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> Tested-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Add documentationMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Merging should be possible without consuming the merged DAGMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Make merging handler into own traitMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Add AsyncDag::merge() functionMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Because were using the same backend here now, this is actually 2Matthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Make test backend multithreading capableMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Implement branchingMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Add license headersMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Add AsyncDag::update_head{,_unchecked}() functionsMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Fix: Make AsyncDag::stream() pubMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Fix: Make AsyncDag::get_next() pubMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04AsyncDag should store Id instead of a NodeMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-04Import rewrite from distrox repositoryMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-25Rewrite Repository trait to fit needs betterMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-25Be more explicit about names hereMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2019-06-25Add minimal required interfacesMatthias Beyer
2019-06-25Initial importMatthias Beyer
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>