On Tue, 04 Oct 2011 09:49:46 -0600 Leif Hedstrom <[email protected]> wrote:
> On 10/04/2011 07:11 AM, Nick Kew wrote: > > I'd like to write a plugin that works on TCP Connection data. > > In HTTPD I'd just work with the conn_rec and write > > connection-level filters. > > > > TS API exposes HTTP SSN and HTTP TXN, whose semantics > > confuse me. Tracing callbacks for them over a simple > > HTTP request, I get the order of callbacks: > > SSN Start > > TXN Start > > SSN End > > TXN End > > Hmmm, this seems broken, I'd expect SSN End to happen after TXN End. A > SSN (session) is the "connection" (keep-alive) while a TXN (transaction) > is a request on the session. Perhaps file a bug ? Maybe I'll play with a keepalive connection first, so a bug description will be more complete. Now that the plugin is working on simple requests it needs some more challenging test cases! [chop] > Note that within a continuation, > you have a private opaque (void*) pointer that you can do whatever you > like with. Yes, I've figured out how to use that to work with both ssn data and txn data (the latter having a pointer to the former). > > Where should I be looking for an insight into the > > semantics of SSN and TXN in the API, and how I can > > map these to a Connection? Actually I suspect my confusion may be down to a couple of bugs. One being the ordering as above, the other the fact that I counterintuitively can't get the TCP data from the SSN without the TXN. This has been one of those questions where the act of asking helped me sort it out (at least, I think I'm clearer now). Though the fact you too find that ordering unexpected helps! Thanks for clarifying that I'm not missing something obvious! -- Nick Kew
