[squid-users] Squid 3.5 with nonblocking ecap adapter

Alex Rousskov rousskov at measurement-factory.com
Wed Nov 1 20:40:43 UTC 2017


On 11/01/2017 11:45 AM, Yuri wrote:
> 01.11.2017 23:37, Alex Rousskov пишет:
>>>> B) Use threads inside the adapter to make its operations asynchronous.

>>> AFAIK B) is impossible.

>> It is not only possible but implemented in sample and production
>> adapters (as I have said later in the same email).

> "Stop talking - just show the code." :) 

I have already pointed to the relevant code: For example, the eCAP
ClamAV adapter implements (B) since version 2.


> (Ideally - in C++, not in C. And
> not adapter sample - it's illustrates nothing because it is mixture of
> C++03 and pure C pthreads).

All eCAP adapters use C++ because eCAP API requires C++. Some may also
use C libraries (because there are no better C++ alternatives and/or for
other reasons). Your disqualification of adapters using C libraries in
general and pthreads in particular makes no sense to me in this context.
I assume it is just a misunderstanding of how things actually work and
recommend avoiding making broad statements about C inapplicability.


> yes, the host gives the body - but through the library. If I understand
> the design correctly. Otherwise it is not clear, what does the library
> have to do with and why is it needed?

In this context, the eCAP library role is mostly limited to allowing the
dynamic linker to find the right class method where the host application
calls the adapter or where the adapter calls the host application. The
library itself is a thin shim that does not "do" much besides declaring
method names. The eCAP library does not store body pieces, for example.
This makes phrases like "body from ecap library" invalid/misleading. In
my earlier email, I just wanted to clarify that misunderstanding in case
somebody stumbles upon this thread while trying to understand how things
work.

I do not intend to continue this thread because I find your messages too
hostile and not Squid-specific enough. If you have eCAP-specific
questions, please do not post them here. Use eCAP support channels
instead: http://www.e-cap.org/support/


Thank you,

Alex.


More information about the squid-users mailing list