-
Notifications
You must be signed in to change notification settings - Fork 24
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
0.4 tentacle break proposal #305
Comments
It seems that you also cannot specify the sending order using |
But you can just use |
I prefer leaving |
std has introduced the Stream trait, GAT, and existence types are also advancing. In the long run, The trait design of the current library actually follows the design of the 0.1 eras, when await did not appear, but, at present, it is already usable. We should consider switching the current trait to But this change will be a big break change for users, and some dependencies need to be added, It is expected that at least the If there is a lock dependency in the user's implementation, perhaps the user needs to consider the use of locks. |
Regarding async-trait, during the upgrade process, it is inevitable that part of the code needs to be rewritten. Based on stability and functional requirements, the rewritten part is only related to the user interface and has nothing to do with other modules. Specifically, Instead of implementing the
Used to adapt
The
The use of the above traits will depend on We all know that await is the yield point of async code, which means that in distribution mode if a distribution point is pending, it will not perform subsequent distribution work until it is awakened again. Therefore, the poll mode of the session module will not be rewritten to await mode, just to detect and skip this situation, the link detection from service to the session has been moved to the session to protocol stream, so the rewriting does not affect its own function |
tokio/bytes upgrade to 1.0
PR #293
TargetSession/TargetProtocol
changeCurrently, these two enumerated types under multi will force users to save all known session/protocol ids and specify them accurately, otherwise, they cannot be selectively broadcast, but this is not a good decision.
There are two proposals(mutually exclusive):
Exclude(HashSet<ID>)
, it can remove some known options, but you don’t need to know all the options(can manually control the sending sequence)Multi(Vec<SessionId>)
toFilter(Box<Fn(ID) -> bool + send + ‘static>)
, also achieved the purpose of flexibility(can't manually control the sending sequence )Remove the deprecated event output mode
PR #293
Remove flutbuffer codec
PR #293
Extract core crate
Separate runtime encapsulation and transport layer into one library, and tentacle as a high-level encapsulation framework
Based on this design, it may be possible to implement a tentacle client to cover #205
Low priority, will not break API, can be done after release 0.4
The text was updated successfully, but these errors were encountered: