rhernandez35 opened a new pull request #111: Add a thread-safe capacity channel to AbstractHttp1StreamDuplexer URL: https://github.com/apache/httpcomponents-core/pull/111 This solves two issues: 1. A data consumer that retains a reference to an old capacity channel will no longer be able to modify state for future requests occurring on the same connection (e.g. updating the window or requesting reads). 2. Coupling changes to the input window with changes to the io session state prevents a race condition occuring when a consumer asynchronously calls CapacityChannel#udpate at the same moment the input window is exhausted by new input. Without synchronization, it was possible (albeit unlikely) for the IO thread to decrease the window below zero, a consumer thread to request input by calling CapacityChannel#update, then the IO thread to clear the read request.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
