-
-
Notifications
You must be signed in to change notification settings - Fork 7k
multi notifications #18432
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
multi notifications #18432
Conversation
|
CI failure on aws-lc reproduced on master. Trying to address via #18434 |
462f084 to
3503697
Compare
|
Dear @bagder , |
|
rebased on current master. /cc @bagder |
|
@Ealireza we had some discussion yesterday on how to merge this feature, should it be experiemental, is the current scope good, etc. Since you are the first user, it the timing information passed to the callback relevant for you? We are considering removing it in the first versions since we are not sure it is worth it. Feedback appreciated. |
Dear @icing I think removing it could be a good idea since it adds extra processing. So, removing it isn’t a bad idea , given that it improves and simplifies processing, I think it’s worth it. Could you add one more section? If possible, it would be great to have this feature for WebSockets as well. I’m truly grateful for your effort and appreciate all the hard work. |
Add infrastructure to colled and dispatch notifications for transfers
and the multi handle in general. Applications can register a callback
and en-/disable notification type the are interested in.
Without a callback installed, notifications are not collected. Same
when a notification type has not been enabled.
Memory allocation failures on adding notifications lead to a general
multi failure state and result in CURLM_OUT_OF_MEMORY returned from
curl_multi_perform() and curl_multi_socket*() invocations.
|
After discussions we agreed to spell out "notify" instead of "ntfy" in the names, then we merge! |
An implementation of the discussion #17817, adding a "notification" feature to the multi handle.
INFO_READandEASY_DONEimplementedcurl_multi_perform()or similar calls.multi->in_ntfy_callbackflag that allows the applications callback to use most of the libcurl API.Questions/To be discussed:
age_msparameter, not sure if it is worth it or if milliseconds is enough.Update:
age_mshas been removed as no use case for this is known.Some measurements on my macOS box:
This gain eventually equals out with hight parallelism. Still there with 25, almost no difference with 50 transfers in parallel for HTTP/2. Using HTTP/1.1, the improvement holds:
Without
--test-event, there is no difference really, but performance is average: