-
Notifications
You must be signed in to change notification settings - Fork 168
Conversation
this uses the rust 1.45 features to remove recursion inside the macro. great for rs-ipfs#284 which adds even more complicated async-stream(s).
288: fix: update async-stream to 0.3 r=ljedrz a=koivunej this uses the rust 1.45 features to remove recursion inside the macro. great for #284 which adds even more complicated async-stream(s). good to go if CI passes. Co-authored-by: Joonas Koivunen <[email protected]>
I'll force push once #288 is merged with the few TODO comments which are missing. I am still thinking if I should render the AddErrors as StringError as a new json line since that's the best we can do. It might even trigger an error on the js-ipfs-http-client side which would be better than hanging. |
288: fix: update async-stream to 0.3 r=ljedrz a=koivunej this uses the rust 1.45 features to remove recursion inside the macro. great for #284 which adds even more complicated async-stream(s). good to go if CI passes. Co-authored-by: Joonas Koivunen <[email protected]>
288: fix: update async-stream to 0.3 r=ljedrz a=koivunej this uses the rust 1.45 features to remove recursion inside the macro. great for #284 which adds even more complicated async-stream(s). good to go if CI passes. Co-authored-by: Joonas Koivunen <[email protected]>
288: fix: update async-stream to 0.3 r=ljedrz a=koivunej this uses the rust 1.45 features to remove recursion inside the macro. great for #284 which adds even more complicated async-stream(s). good to go if CI passes. Co-authored-by: Joonas Koivunen <[email protected]>
b5bf673
to
aab2e82
Compare
I think this is now ready for review. Thanks to npm for providing me focus time to try out the perf enchancements (which could be dropped off if they look bad enough) :) |
Wantlist cancellation failure: https://github.com/rs-ipfs/rust-ipfs/pull/284/checks?check_run_id=953826545#step:5:633 |
not sure what is the index file hash change.
a6ce6f9
to
7446810
Compare
Co-authored-by: ljedrz <[email protected]>
bee60ae
to
aaabc37
Compare
bors r+ |
284: unixfs: feat tree building r=koivunej a=koivunej Includes a `BufferingTreeBuilder` which kind of follows the js-ipfs implementation: a *complete* tree is built from path segments and later it's converted into a dag-pb by an "iterator" which walks the tree in post order, converting (rendering) the most nested elements first. Communication back to the "parent" is done using a `HashMap<u64, Vec<Option<(String, Cid, usize)>>>` which relies on initial ordering provided by `BufferingTreeBuilder` by using BTreeMap's on each level. Co-authored-by: Joonas Koivunen <[email protected]> Co-authored-by: Joonas Koivunen <[email protected]>
readme_doctest with a https://github.com/rs-ipfs/rust-ipfs/pull/284/checks?check_run_id=965960327#step:5:574 in wantlist_cancellation. |
Same with bors... Interesting. bors r- |
Canceled. |
bors r+ |
Build succeeded: |
Includes a
BufferingTreeBuilder
which kind of follows the js-ipfs implementation: a complete tree is built from path segments and later it's converted into a dag-pb by an "iterator" which walks the tree in post order, converting (rendering) the most nested elements first. Communication back to the "parent" is done using aHashMap<u64, Vec<Option<(String, Cid, usize)>>>
which relies on initial ordering provided byBufferingTreeBuilder
by using BTreeMap's on each level.