-
Notifications
You must be signed in to change notification settings - Fork 413
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
When using io_uring_prep_recv_multishot
and IORING_RECVSEND_BUNDLE
and IOU_PBUF_RING_INC
, data will only be accepted once!
#1320
Comments
You're going to need to be a LOT more specific on what you're talking about here. |
As described above, this is an acceptance program. Three buffers were added, all 16 bytes in size At this point, I write a send program that sends 40 bytes to this program. I open a loop for three times. Each loop initiates an But each The first two times it prints out 16 bytes and the last time it prints 8 bytes before it is all received. So why can't it be accepted all at once and have to be initiated manually to do so? |
You should only generate and submit a new recv multishot, when the previous CQE for that multishot request doesn't have |
That said, the behavior does sound odd. I'll take a look. |
Oh, well I think this one is pretty simple. When you do:
you're overwriting the multishot flag. Change that to a |
The client sends 20 bytes to the server. The server-side Assume that initiating an Disregarding reuse of buffers. There are two scenarios here.
So why are the two situations different? Why does |
I asked this before but you did not answer - what kernel are you using? |
|
Here's what I see:
which looks as expected? I appreciate the reports, but you never seem to clearly mention how what you're seeing is differing from your expectations. Any bug or issue report should include that, to avoid the other end needing to guess. |
It looks like you're getting the same results as me. My question is why after setting In my other code, my buffer additions are triggered mostly by |
As stated in the title,
io_uring_prep_recv_multishot
must be initiated again to continue receiving dataThe text was updated successfully, but these errors were encountered: