Susan Hinrichs created TS-3578:
----------------------------------

             Summary: Rearrange Client Session processing to give access to 
socket at SSN_CLOSE for all protocols
                 Key: TS-3578
                 URL: https://issues.apache.org/jira/browse/TS-3578
             Project: Traffic Server
          Issue Type: Improvement
          Components: HTTP, HTTP/2, SPDY
            Reporter: Susan Hinrichs


I wanted to use the tcpinfo plugin look at the kernel measured RTT.  
Unfortunately, there was really only visibility for HTTP/1.x.  Not HTTP/2 or 
SPDY.  In the H2 and SPDY cases the underlying NetVC is a PluginVC and does not 
have access to the underlying socket.

With HTTP/2, the SSN_CLOSE hook would trigger, but by the time the SSN_CLOSE 
hook would go off, the netVC had already been closed.

I propose making the following changes.

1.  Make SpdyClientSession a subclass of ProxyClientSession, so SSN_CLOSE_HOOK 
can be triggered there too.

2.  Rearrange the hook calling and net vc close so the SSN_CLOSE hook is called 
before the net vc is closed.

I've made both changes on my dev build, and in my simple tests, the tcpinfo 
plugin is recording times for traffic on top of HTTP/1.1, SPDY, and HTTP/2.

Since this involves rearranging some of the bowels of the protocol processing, 
I'll set up a pull request for broader review.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to