-
Notifications
You must be signed in to change notification settings - Fork 129
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
Add Stream and Sink future traits to IpcSender and Receiver #165
base: main
Are you sure you want to change the base?
Conversation
Thanks for the pull request, and welcome! The Servo team is excited to review your changes, and you should hear from @emilio (or someone else) soon. |
It's not clear to me that it's possible to break up sending into separate steps, since the per-platform implementations all invoke operations that don't have any kind of blocking semantics as far as I can tell. |
@jdm does that mean each call to |
I believe so. |
OK, thanks for the tip, I'll finish that up and update the PR |
To clarify: the For one, there is a limit on how many unreceived messages can be pending on a channel, before sending another one blocks. (With the What's more, large sends on the I'm not sure a simplistic |
☔ The latest upstream changes (presumably #164) made this pull request unmergeable. Please resolve the merge conflicts. |
@antrik OK I can try, help would be great though. Is the |
@illegalprime yeah, the I'd be glad to help -- what form of help where you thinking of specifically? |
Could the |
I would merge a PR that contained the Receiver changes. |
Well, I'd probably ask that it be placed behind a cargo feature. |
Extracts the IpcReceiver half of servo#165. This is placed behind an `async` feature so the dependency on futures isn't forced.
Make IpcReceiver a futures::Stream Extracts the IpcReceiver half of #165. This is placed behind an `async` feature so the dependency on futures isn't forced.
It would be cool if this could work with async futures-rs. I think this will make servo/servo#16236 a lot easier.
So far
Stream
forIpcReceiver
was pretty straightforward, but I'm wondering aboutIpcSender
. Does anyone have any tips on how to move forward with the sender? I need to implementedstart_send
andpoll_complete
and I'm not sure how to logically break up the sending code into those two methods.