Hi all,
please review the following patch to API in
jdk.incubator.httpclient. The patch is more like a clean-up:
* With current RequestProcessor implementation, constructing multiple
HTTP Exchange may be blocked if the first request doesn't response
by server side. This is introduced by synchronized setClient method
together with other synchronized methods in BodyProcessor.
* setClient/getClient in RequestProcessors.ProcessorBase and
ResponseProcessors.AbstractProcessor are never used in real logic.
* Such abstraction with implicit behavior looks to be confusing if
someones wants to implement
HttpResponse.BodyProcessor/HttpRequest.BodyProcessor themselves.
There are more detail root cause analysis in the bug.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8178699
Webrev:
http://cr.openjdk.java.net/~xiaofeya/8178699/webrev.00/
Patch verified with jprt on all platforms and also attempted repeatedly
locally.
Thanks,
Felix