trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leif Hedstrom <>
Subject Re: plugging into the backside of ATS?
Date Fri, 27 May 2011 19:58:38 GMT
On 05/27/2011 01:28 PM, Earle, Erik wrote:
> Is there a good starting point for looking at plugging into the 
> internals of ATS.
> For example, suppose I wanted to replace the default caching mechanism 
> with memcache or add a full http client (like libcurl) without 
> blocking in a continuation callback thread.

You'd want to implement that as a 'server intercept' plugin I think Then 
your plugin acts as the "origin", and you have to implement all access 
to either the memcache storage, or HTTP yourself. You then have the 
option to make the "response" cached in the normal ATS HTTP cache (i.e. 
if you use TSHttpTxnIntercept() it would not be cacheable, while if you 
use TSHttpTxnServerIntercept() it will go through the HTTP SM, and 
therefore potentially could be cached).

This would be a fair amount of work, but I've seen it done at least 
once, and it worked very well (it used a distributed FS as the "backend" 
cache). There's no way, currently at least, to implement a replacement 
HTTP cache as a plugin (so, an intercept plugin is the only way to do it).


-- Leif

View raw message