-
Notifications
You must be signed in to change notification settings - Fork 193
Cancel queued Publish
RPCs if IDONTWANT
arrives in the meantime
#611
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
Comments
We effectively do this already here by checking if the message is unwanted right before sending it. |
One way to approach this is by adding an |
This is likely a difference of <1ms for a machine not in high cpu contention. Is the juice worth the squeeze? We can certainly try. |
I'd be curious to look at our trace metrics and see the time differences between when we send the rpc (in doSendRPC) and when we receive a IDONTWANT for that rpc, and how many times these are within 1 ms of each other. |
I don't think this is CPU-bound? I was thinking it would be IO bound by the multiplexer or transport congestion control (i.e. if the Yamux window is full), which can happen more frequently under bandwidth saturation (especially under bursty loads). |
ah right, if the transport backpressures on stream writes. That seems more likely 👍 |
See libp2p/rust-libp2p#5751 and sigp/rust-libp2p#570.
The text was updated successfully, but these errors were encountered: