[squid-users] Data tricking implementation is on ICAP side or Squid side?

Alex Rousskov rousskov at measurement-factory.com
Thu Jan 21 18:18:00 UTC 2021


On 1/20/21 3:21 PM, John Zhu wrote:

> I implemented ICAP in java. I have questions regarding the “data
> trickling” to handle slow response for large file scanning from ICAP.

> 1) Java libraries available for data trickling at ICAP side, if any?

FWIW, implementing a production ICAP server from scratch (in any
language) is usually a bad idea -- there are too many poorly documented
and barely understood protocol areas. There are production ICAP servers
that support data trickling.

Unfortunately, I am not familiar with Java libraries, but there were two
ICAP projects in Java:
https://wiki.squid-cache.org/Features/ICAP#ICAP_Servers


> 2) Need any configuration change for trickling feature on Squid side?
> 3) Need any code change on Squid side?

I do not recall any required changes. Squid itself can be unaware that
data trickling is going on. However, it is possible that, in some
extreme cases (e.g., trickling one byte at a time), some configuration
or code adjustments would be needed to force "flushing" of that data
through Squid or to fix Squid metadata parsing bugs.


> 3) The trickling (in a very slow speed data send to Squid) is
> implemented only ICAP server side, correct?

The ICAP client side must not buffer (as in "delay to aggregate") data
trickled by the ICAP server.


HTH,

Alex.


More information about the squid-users mailing list