Skip to content
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

Tracking issue: roadmap to stabilization #596

Closed
24 tasks done
tomaka opened this issue Oct 30, 2018 · 7 comments
Closed
24 tasks done

Tracking issue: roadmap to stabilization #596

tomaka opened this issue Oct 30, 2018 · 7 comments
Labels
priority:important The changes needed are critical for libp2p, or are blocking another project
Milestone

Comments

@tomaka
Copy link
Member

tomaka commented Oct 30, 2018

This issue should serve as a tracking issue for the roadmap to the first stable-ish version of rust-libp2p.
The core of the library has recently been rewritten and since then things have been a bit blurry, hence the need for an issue like this.

Things to do before a stable version of is possible:

Let me know if I forgot something.

@tomaka tomaka added priority:important The changes needed are critical for libp2p, or are blocking another project discussion labels Oct 30, 2018
@dvdplm
Copy link
Contributor

dvdplm commented Oct 30, 2018

* Reorganize the modules within `core`.

Can you perhaps add some more detail to this one?

@jamesray1
Copy link
Contributor

jamesray1 commented Oct 31, 2018

Add a NetworkBehaviour trait.

And add more detail for this one? Although I guess it's fairly obvious.

@tomaka
Copy link
Member Author

tomaka commented Oct 31, 2018

Can you perhaps add some more detail to this one?

I'm particularly thinking about the content of nodes. The name nodes doesn't really make sense, and the fact that they are part of a module while many types are visible only from the root of the crate doesn't make sense to me either.

@tomaka
Copy link
Member Author

tomaka commented Oct 31, 2018

And add more detail for this one? Although I guess it's fairly obvious.

Right now the NodeHandler (and ProtocolsHandler) emit and receive events for each individual node connected to us. However we also need code that acts over the network as a whole, for example performing Kademlia requests or handling floodsub in general.

Right now the user has do to that manually, which is both tedious and error prone. I think we need a system that makes it easy to plug functionalities together, and that would for example be a NetworkBehaviour trait.

@tomaka
Copy link
Member Author

tomaka commented Nov 28, 2018

Agree on a naming scheme for everything (eg. the Handler, Behaviour, etc. suffixes).

I think it's a good idea to have behaviours named after the protocol (eg. KademliaBehaviour -> Kademlia, FloodsubBehaviour -> Floodsub, etc.), while upgrades and handlers should be in submodules.

@jamesray1
Copy link
Contributor

Improve the identify network behaviour (#731).

I think this has the wrong PR?

@tomaka tomaka added this to the publish-v0.1 milestone Jan 2, 2019
@tomaka
Copy link
Member Author

tomaka commented Jan 2, 2019

I'm going to close this, as we've done everything 🎉
Let's publish 0.1 soon-ish!

@tomaka tomaka closed this as completed Jan 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:important The changes needed are critical for libp2p, or are blocking another project
Projects
None yet
Development

No branches or pull requests

3 participants