-
Notifications
You must be signed in to change notification settings - Fork 4
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
WIP: Backend based on poll-functions rather than boxed futures #85
Conversation
The individual backends have not yet been updated.
This enables us to bound every Chan as having a Transmitter and Receiver, because now Unavailable can implement those traits. And that in turn allows us to have a unified error type which encompasses sending and receiving errors on channels. And that in turn allows us to implement auto-flushing, only when it is needed by the protocol. All this, is implemented in this commit.
This adds a ReceiveChoice and TransmitChoice bound, and removes the now-unnecessary Send + 'static bounds.
After benchmarking this mostly completed PR, it decreases performance by about 10% across the board, and specifically by almost 100% for |
This resolves #78 and along the way resolves #76.
call-by
needs to happen.