Async-call work replaces event-based asynchronous calls with
stand-alone implementation. The common async call API allows Squid
core do call, debug, and troubleshoot all callback handlers in a
uniform way.
An async "job" API is introduced to manage independent logical threads
or work such as protocol transaction handlers on client, server, and
ICAP sides. These jobs should communicate with each other using async
calls to minimize dependencies and avoid reentrant callback loops.
These changes will eventually improve overall code quality, debugging
quality, and Squid robustness.
Below you will find log messages from the async-call branch that are
relevant to the file(s) being committed.
Convert the comm_* calls to use CommCalls.
Use the AsyncJob::deleteThis method as "delete this"
replacement instead of the previously commited block "if
(inCall) musStop(...) else delete this"
ICAPInitiate::sendAnswer dialers take care of message locking
now.