You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/05/01 22:04:06 UTC

[jira] [Commented] (TS-3578) Rearrange Client Session processing to give access to socket at SSN_CLOSE for all protocols

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

ASF GitHub Bot commented on TS-3578:
------------------------------------

GitHub user shinrich opened a pull request:

    https://github.com/apache/trafficserver/pull/196

    TS-3578: Rearrange ProxyClientSession's to enable VC object to be availa...

    Attempting to have the net vc available from the SSN_CLOSE_HOOK for HTTP2 and SPDY in addition to regular HTTP1.x connections.
    
    To that goal:
    * Made SpdyClientSession a child of ProxyClientSession.  Implemented the required pure virtual methods.
    * Rearranged so the netvc->do_io_close() is performed after the SSN_CLOSE hook has been called.  

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/shinrich/trafficserver TS-3578

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/196.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #196
    
----
commit 2dfe6d5b1f9295ec869d1d103b4d703b31ea403f
Author: shinrich <sh...@yahoo-inc.com>
Date:   2015-05-01T19:55:53Z

    TS-3578: Rearrange ProxyClientSession's to enable VC object to be available
    during SSN_CLOSE hook.

----


> 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
>            Assignee: Susan Hinrichs
>
> I wanted to use the tcpinfo plugin to 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)