Hi, below is the use case for a transformation plugin I'm writing: 1) TSVConnWrite w/ INT64_MAX because I'm not sure exactly how much data my transformation plugin will generate. 2) As the transformation plugin generates data it copies to the buffer (TSIOBufferWrite) and calls TSVIOReenable to tell the downstream VIO that there is more data to read. 3) When the transformation plugin is done generating data it calls TSVIONBytesSet with the total bytes that were written to the downstream VIO.
In my records.config I have CONFIG proxy.config.http.chunking_enabled INT 1. However, it appears that chunking is not enabled. If I purposely do three independent TSIOBufferWrite and TSVIOReenable you would expect that the output would be flushed immediately and as chunked encoding. This is not the case, it actually appears that ATS is holding the data completely until I do TSVIONBytesSet, the reason I suspect this is because the Content-Length header is set in the final response, here are the headers: GET /page HTTP/1.1 Host: localhost:8000 Connection: keep-alive Cache-Control: max-age=0 User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: visit=G HTTP/1.1 200 OK X-Powered-By: Express Content-Type: text/html charset=UTF-8 Content-Encoding: identity Date: Mon, 17 Oct 2011 20:27:13 GMT Content-Length: 80777 Age: 0 Connection: keep-alive Server: ATS/3.0.1 Do I need to do anything special to force ATS to flush and chunk-encode the response? Thanks in advance. Brian