[ 
https://issues.apache.org/jira/browse/TS-2729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14052999#comment-14052999
 ] 

ASF subversion and git services commented on TS-2729:
-----------------------------------------------------

Commit 9c0458c4b05341c46a9ccb5b8323bf277b09804d in trafficserver's branch 
refs/heads/master from [[email protected]]
[ https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;h=9c0458c ]

TS-2729: Lay down some initial HTTP/2 infrastructure

Factor out a common client session base class. Add ProxyClientSession
as a base class for user agent session.  This enforces the pattern
of modelling a client session as a VConnection, and gives some basic
common API.  Push session hooks handling down to ProxyClientSession.
This gives us a common implementation for different kinds of sessions.

Add various HTTP/2 constants, types and enumerations.

Add basic HTTP/2 infrastructure. Create a Http2ClientSession class
to manage the session, session hooks and frame input and output.
The Http2ConnectionState class handles the protocol semantics and
knows about how different frames should be handled.


> Add HTTP/2 support to ATS
> -------------------------
>
>                 Key: TS-2729
>                 URL: https://issues.apache.org/jira/browse/TS-2729
>             Project: Traffic Server
>          Issue Type: New Feature
>          Components: HTTP/2
>            Reporter: Ryo Okubo
>              Labels: review
>             Fix For: 6.0.0
>
>         Attachments: http2-0004.patch
>
>
> h2. Overview
> We, CDN team of Yahoo! JAPAN, have implemented HTTP/2 support in ATS core 
> experimentally.
> Now, it supports HTTP/2 draft-12.
> http://tools.ietf.org/html/draft-ietf-httpbis-http2-12
> Our implementation similar to the SPDY implementation in ATS core(TS-2431) 
> but we use nghttp2 library instead of spdylay to interpret HTTP/2 frames.
> https://github.com/tatsuhiro-t/nghttp2
> We tested NPN and ALPN negotiation.
> h2. How to test it
> * Install nghttp2 library, here is URL of this library:
> https://github.com/tatsuhiro-t/nghttp2
> * Use '--enable-http2' option to compile ATS:
> {noformat}
> $ ./configure --enable-http2
> $ make all && make install
> {noformat}
> * You can use '--with-openssl=<dir>' option.
> * Need not configure anything if you just want to test HTTP/2 without SSL.
> The code can recognize HTTP2, SPDY or HTTP by reading first to 3rd bytes of 
> requests.
> * You can use nghttp in nghttp2 library(or other HTTP/2 client) to request, 
> for example:
> {noformat}
> # HTTP/2 without SSL
> $ nghttp -v http://localhost/b.txt
> # HTTP/2 + SSL
> $ nghttp -v https://localhost/b.txt
> {noformat}
> h2. TODO
> * -Cleanup codes.-
> * Follow -http2 draft-12- and later.
> * -Support ALPN.-
> * Add settings related to HTTP/2 into records.config.
> ** it'll refer to configuration settings for SPDY on TS-2740



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to