Hi,
An updated webrev is available at:
http://cr.openjdk.java.net/~michaelm/8087124/webrev.2/
The main change is the removal of the permanently allocated
two threads per TCP connection (for HTTP/2)
Now, all socket reads and writes are done by the selector thread
(writes also happen on other threads). Asynchronous writes use the
same write() calls as the blocking interface. A new type AsyncConnection
defines a callback interface for asynchronous reads (and error reporting).
This interface is implemented by PlainHttpConnection and a new
AsyncSSLConnection
(and AsyncSSLDelegate which is a non-blocking version of SSLDelegate).
Thanks
Michael
On 06/04/16 15:08, Michael McMahon wrote:
Hi,
This is the webrev for the HTTP/2 part of JEP 110.
http://cr.openjdk.java.net/~michaelm/8087124/webrev.1/index.html
There are minor changes to existing classes as well as the bulk
of the new stuff in the new files. Most of the HTTP/2 implementation
is in the files:
|| src/java.httpclient/share/classes/java/net/http/Http2Connection.java
|| src/java.httpclient/share/classes/java/net/http/Stream.java
Each of the HTTP/2 frame types also has its own class derived from
Http2Frame.
The hpack code will be reviewed in a separate review to be
circulated today by Pavel.
I realise there were comments a few weeks ago on the Http/1 code
which I haven't gotten back to. Once all of this code is integrated
I will return to fixing up issues across the whole implementation,
and some API issues will also be revisited.
Thanks,
Michael