RFR: 8087124 HTTP/2 implementation

Michael McMahon michael.x.mcmahon at oracle.com
Fri Apr 22 21:51:46 UTC 2016


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/net-dev/attachments/20160422/f7a3b581/attachment.html>


More information about the net-dev mailing list