Roadmap to 0.6
Lots of good PRs have been merged into master since the last release. I'd like to make an effort to finalise the public API so we can push a new release out and continue to iterate on internals in future patch releases.
There are a few more decisions that need to be made in regards to the public API:
- https://github.com/Restioson/xtra/pull/133
- This PR introduces a
Mailboxtype and makesContextshort-lived. I think that part is non-controversial. - This PR also moves
run,select,join,yield_onceandtickaway fromContextinto free functions at the crate root. This change is yet to be agreed on.
- This PR introduces a
- https://github.com/Restioson/xtra/issues/136
- https://github.com/Restioson/xtra/issues/119
- https://github.com/Restioson/xtra/issues/134
- Technically, https://github.com/Restioson/xtra/issues/132 would also be a breaking change, although only noticable for users that take the future and store it somewhere.
Technically speaking, could select, join, yield_once, and run all go outside of the main crate? Where do we want to draw the line on these?
Personally, I think run is probably useful to have in the main crate itself, whereas the others I wouldn't mind moving out, except that run will most likely be implemented using yield_once.
I've gone ahead and added all the mentioned issues to https://github.com/Restioson/xtra/milestone/4, by the way!
Technically speaking, could
select,join,yield_once, andrunall go outside of the main crate? Where do we want to draw the line on these?Personally, I think
runis probably useful to have in the main crate itself, whereas the others I wouldn't mind moving out, except thatrunwill most likely be implemented usingyield_once.
It is a tough question. It depends on what we define as the "main" crate :D
If I were to split things now, I'd probably create an xtra_core crate with:
- The channel implementation
Address,MailboxActortraitContexttype
Anything else: run, join, select, yield_one, scoped, spawn etc would be in xtra or an extension crate re-exported from xtra.
All of the above issues are resolved and we have a milestone for the remaining so this can be closed!