squid3/async-calls changes

These changesets represents the changes on the squid3/async-calls development branch of Squid. If there is any questions please contact squid-dev@squid-cache.org.

Browse repository

DateAuthorSizeDescription
2008/04/02 22:48:23chtsanti+24 -14In the case the SSL and ICAP are enable the ClientHttpRequest is an AsyncJob
2008/03/25 08:55:17chtsanti+9 -9Convert some asserts to Must calls
2008/03/25 08:41:51chtsanti+236 -226Converting most of the TunnelStateData related code to use the new CommCalls
2008/04/02 22:48:23chtsanti+24 -14In the case the SSL and ICAP are enable the ClientHttpRequest is an AsyncJob
2008/03/25 08:55:17chtsanti+9 -9Convert some asserts to Must calls
2008/03/25 08:41:51chtsanti+236 -226Converting most of the TunnelStateData related code to use the new CommCalls
2008/03/20 21:22:45chtsanti+17 -11Converting ClientHttpRequest::sslBumpEstablish method to be used by CommCalls
2008/03/20 21:06:18chtsanti+12 -23- Remove some unused,commented code
2008/03/19 22:01:07chtsanti+60 -60converting asserts() that are testing local transaction-specific conditions
2008/03/17 20:22:48chtsanti+4 -33undo the xThrow() related patch.
2008/03/16 15:43:15chtsanti+33 -4Throw function used to throw AsyncCall exceptions now replaced by the
2008/03/16 14:58:45chtsanti+8 -7Change the default value of the assert_burst_max configuration parameter to "0"
2008/03/20 21:22:45chtsanti+17 -11Converting ClientHttpRequest::sslBumpEstablish method to be used by CommCalls
2008/03/20 21:06:18chtsanti+12 -23- Remove some unused,commented code
2008/03/19 22:01:07chtsanti+60 -60converting asserts() that are testing local transaction-specific conditions
2008/03/17 20:22:48chtsanti+4 -33undo the xThrow() related patch.
2008/03/16 15:43:15chtsanti+33 -4Throw function used to throw AsyncCall exceptions now replaced by the
2008/03/16 14:58:45chtsanti+8 -7Change the default value of the assert_burst_max configuration parameter to "0"
2008/02/23 10:53:58chtsanti+4 -1Adding info about salvaged assertions in "General Runtime Information" page
2008/02/23 10:31:18chtsanti+55 -9- Add TheAssertsPerStep counter to count the number of assertions per
2008/02/23 10:53:58chtsanti+4 -1Adding info about salvaged assertions in "General Runtime Information" page
2008/02/23 10:31:18chtsanti+55 -9- Add TheAssertsPerStep counter to count the number of assertions per
2008/02/23 10:53:58chtsanti+4 -1Adding info about salvaged assertions in "General Runtime Information" page
2008/02/23 10:31:18chtsanti+55 -9- Add TheAssertsPerStep counter to count the number of assertions per
2008/02/23 10:53:58chtsanti+4 -1Adding info about salvaged assertions in "General Runtime Information" page
2008/02/23 10:31:18chtsanti+55 -9- Add TheAssertsPerStep counter to count the number of assertions per
2008/02/23 10:53:58chtsanti+4 -1Adding info about salvaged assertions in "General Runtime Information" page
2008/02/23 10:31:18chtsanti+55 -9- Add TheAssertsPerStep counter to count the number of assertions per
2008/02/16 21:06:42chtsanti+2 -3It is realy bad idea to reset the AsyncCall_Handling_Exceptions in xassert
2008/02/14 21:55:08chtsanti+3 -1Looks that the HttpStateData can not handle properly exceptions.
2008/02/14 21:46:38chtsanti+47 -4Adding a machanism which in the case the current AsyncCall support it,
2008/02/16 21:06:42chtsanti+2 -3It is realy bad idea to reset the AsyncCall_Handling_Exceptions in xassert
2008/02/14 21:55:08chtsanti+3 -1Looks that the HttpStateData can not handle properly exceptions.
2008/02/14 21:46:38chtsanti+47 -4Adding a machanism which in the case the current AsyncCall support it,
2008/02/14 21:55:08chtsanti+3 -1Looks that the HttpStateData can not handle properly exceptions.
2008/02/14 21:46:38chtsanti+47 -4Adding a machanism which in the case the current AsyncCall support it,
2008/02/07 17:43:23chtsanti+2 -2ClientHttpRequest::getConn now returns a ConnStateData * pointer not ConnStateData::Pointer
2008/01/28 19:12:18chtsanti+1 -2Still trying to understand what the "comm_add_close_handler" call doing here (possibly copy-pasted code?).
2008/01/28 17:15:21rousskov+13 -9Polished comm_remove_close_handler for function-based handlers and explained
2008/01/24 21:40:15rousskov+6 -2Polished comments.
2008/01/24 21:29:15rousskov+37 -44Do not store call Pointer in CallDialer because the dialer is stored in
2008/01/24 17:57:29chtsanti+4 -1cbdataUnlock the ClientHttpRequest::conn_ member in destructor of
2008/01/23 18:30:13rousskov+2 -2Variable F is unused if we do not USE_SSL.
2008/01/22 17:07:02chtsanti+5 -5ConnStateData is not a RefCountable class any more and cbdata used instead (I just forgot to commit these files)
2008/01/28 19:12:18chtsanti+1 -2Still trying to understand what the "comm_add_close_handler" call doing here (possibly copy-pasted code?).
2008/01/28 17:15:21rousskov+13 -9Polished comm_remove_close_handler for function-based handlers and explained
2008/01/24 21:40:15rousskov+6 -2Polished comments.
2008/01/24 21:29:15rousskov+37 -44Do not store call Pointer in CallDialer because the dialer is stored in
2008/01/24 17:57:29chtsanti+4 -1cbdataUnlock the ClientHttpRequest::conn_ member in destructor of
2008/01/24 21:40:15rousskov+6 -2Polished comments.
2008/01/24 21:29:15rousskov+37 -44Do not store call Pointer in CallDialer because the dialer is stored in
2008/01/24 17:57:29chtsanti+4 -1cbdataUnlock the ClientHttpRequest::conn_ member in destructor of
2008/01/23 18:30:13rousskov+2 -2Variable F is unused if we do not USE_SSL.
2008/01/23 18:30:13rousskov+2 -2Variable F is unused if we do not USE_SSL.
2008/01/22 17:07:02chtsanti+5 -5ConnStateData is not a RefCountable class any more and cbdata used instead (I just forgot to commit these files)
2008/01/21 21:24:37chtsanti+197 -169Converting the ConnStateData related code in client_side.cc to use CommCalls:
2008/01/21 21:24:37chtsanti+197 -169Converting the ConnStateData related code in client_side.cc to use CommCalls:
2008/01/19 19:30:37chtsanti+104 -76Converting the commSetTimeout calls to use AsyncCalls instead of functions or static method as handlers:
2008/01/19 19:15:57chtsanti+134 -48Converting commSetTimeout to use CommCalls.
2008/01/19 19:30:37chtsanti+104 -76Converting the commSetTimeout calls to use AsyncCalls instead of functions or static method as handlers:
2008/01/19 19:15:57chtsanti+134 -48Converting commSetTimeout to use CommCalls.
2008/01/15 21:36:13chtsanti+1 -0Add the prototype of comm_accept(int fd, AsyncCall::Pointer &call)
2008/01/15 19:28:44chtsanti+40 -27Convert the comm_accept calls to use CommCalls
2008/01/15 21:36:13chtsanti+1 -0Add the prototype of comm_accept(int fd, AsyncCall::Pointer &call)
2008/01/15 19:28:44chtsanti+40 -27Convert the comm_accept calls to use CommCalls
2008/01/15 19:15:32chtsanti+9 -1Add a comm_accept function which takes an AsyncCall as argument
2008/01/14 22:36:32chtsanti+1 -23Remove the old "late call avoidance" code from BodyPipe. It is not used any more
2008/01/14 22:36:32chtsanti+1 -23Remove the old "late call avoidance" code from BodyPipe. It is not used any more
2008/01/05 21:25:44chtsanti+39 -23When a socket is closed then it is possible that remains AsyncCalls to be
2008/01/05 21:25:44chtsanti+39 -23When a socket is closed then it is possible that remains AsyncCalls to be
2007/12/28 14:29:24chtsanti+45 -30-converting comm_close handlers to use new CommCalls design
2007/12/28 08:23:26chtsanti+3 -1The closeHandler list is not contain only CommCbFunPtrCallT<CommCloseCbPtrFun>
2007/12/24 17:10:13chtsanti+15 -2fixing a little the comm_read_cancel function. We should always call the AsyncCall::cancel method for canceled AsyncCall
2007/12/24 16:46:49chtsanti+116 -35comm_close handlers now scheduled as CommCalls. Major additions/changes:
2007/12/28 14:29:24chtsanti+45 -30-converting comm_close handlers to use new CommCalls design
2007/12/28 08:23:26chtsanti+3 -1The closeHandler list is not contain only CommCbFunPtrCallT<CommCloseCbPtrFun>
2007/12/24 17:10:13chtsanti+15 -2fixing a little the comm_read_cancel function. We should always call the AsyncCall::cancel method for canceled AsyncCall
2007/12/24 16:46:49chtsanti+116 -35comm_close handlers now scheduled as CommCalls. Major additions/changes:
2007/12/21 15:01:14chtsanti+141 -137With this patch:
2007/12/20 05:50:01rousskov+4 -21Removed remaining CompletionDispatcher uses. The CompletionDispatcher
2007/12/20 05:46:07rousskov+2 -2Fixed cut-and-paste typo.
2007/12/20 05:43:02rousskov+29 -26Converted CompletionDispatcher-based SignalDispatcher into AsyncEngine-based
2007/12/20 04:42:06rousskov+97 -104Use async calls for firing ready events. Deleted EventDispatcher as unused.
2007/12/19 23:09:37rousskov+138 -18Async calls are not longer using time-based events with zero delay. They
2007/12/19 19:03:05rousskov+22 -17Moved duplicated code into dispatchCalls().
2007/12/19 18:29:06rousskov+2 -21Removed CommDispatcher as unused.
2007/12/18 21:00:15chtsanti+11 -4converting comm_write calls to new CommCalls.
2007/12/24 17:10:13chtsanti+15 -2fixing a little the comm_read_cancel function. We should always call the AsyncCall::cancel method for canceled AsyncCall
2007/12/24 16:46:49chtsanti+116 -35comm_close handlers now scheduled as CommCalls. Major additions/changes:
2007/12/21 15:01:14chtsanti+141 -137With this patch:
2007/12/20 05:50:01rousskov+4 -21Removed remaining CompletionDispatcher uses. The CompletionDispatcher
2007/12/20 05:46:07rousskov+2 -2Fixed cut-and-paste typo.
2007/12/20 05:43:02rousskov+29 -26Converted CompletionDispatcher-based SignalDispatcher into AsyncEngine-based
2007/12/20 04:42:06rousskov+97 -104Use async calls for firing ready events. Deleted EventDispatcher as unused.
2007/12/19 23:09:37rousskov+138 -18Async calls are not longer using time-based events with zero delay. They
2007/12/19 19:03:05rousskov+22 -17Moved duplicated code into dispatchCalls().
2007/12/19 18:29:06rousskov+2 -21Removed CommDispatcher as unused.
2007/12/18 21:00:15chtsanti+11 -4converting comm_write calls to new CommCalls.
2007/12/16 22:00:35chtsanti+123 -114Adjusting comm_write calls in ServerStateData and kids classes (FtpStateData/HttpStateData) to use CommCalls
2007/12/16 21:43:25chtsanti+12 -18- Converting the comm_write* calls to new CommCalls design
2007/12/16 21:37:53chtsanti+21 -5Adding the functions comm_write_mbuf and comm_write which can accept as argument
2007/12/16 11:36:22chtsanti+7 -7The files ICAP/AsyncJob.o and ICAP/TextException.o files now included in libsquid.a library not in ICAP/libicap.a.
2007/12/16 10:42:32chtsanti+16 -7Fixing/adding some "#if ICAP_CLIENT" to allow async-calls branch compile
2007/12/15 16:35:19chtsanti+6 -2Making comm_read calls to use the new CommCalls interface
2007/12/15 16:21:26chtsanti+30 -28- Making comm_reads to use the new CommCalls interface
2007/12/15 16:02:42chtsanti+16 -20Modifing the comm_read/comm_read_cancel related code in ICAPXAction to use the new CommCalls interface.
2007/12/15 15:37:51chtsanti+19 -1Adding a comm_read_cancel function which takes as argument an AsyncCall
2007/12/16 22:00:35chtsanti+123 -114Adjusting comm_write calls in ServerStateData and kids classes (FtpStateData/HttpStateData) to use CommCalls
2007/12/16 21:43:25chtsanti+12 -18- Converting the comm_write* calls to new CommCalls design
2007/12/16 21:37:53chtsanti+21 -5Adding the functions comm_write_mbuf and comm_write which can accept as argument
2007/12/16 11:36:22chtsanti+7 -7The files ICAP/AsyncJob.o and ICAP/TextException.o files now included in libsquid.a library not in ICAP/libicap.a.
2007/12/16 10:42:32chtsanti+16 -7Fixing/adding some "#if ICAP_CLIENT" to allow async-calls branch compile
2007/12/15 16:35:19chtsanti+6 -2Making comm_read calls to use the new CommCalls interface
2007/12/15 16:21:26chtsanti+30 -28- Making comm_reads to use the new CommCalls interface
2007/12/15 16:02:42chtsanti+16 -20Modifing the comm_read/comm_read_cancel related code in ICAPXAction to use the new CommCalls interface.
2007/12/15 15:37:51chtsanti+19 -1Adding a comm_read_cancel function which takes as argument an AsyncCall
2007/12/15 16:35:19chtsanti+6 -2Making comm_read calls to use the new CommCalls interface
2007/12/15 16:21:26chtsanti+30 -28- Making comm_reads to use the new CommCalls interface
2007/12/15 16:02:42chtsanti+16 -20Modifing the comm_read/comm_read_cancel related code in ICAPXAction to use the new CommCalls interface.
2007/12/15 15:37:51chtsanti+19 -1Adding a comm_read_cancel function which takes as argument an AsyncCall
2007/12/14 06:07:29rousskov+2 -10Relaxed comm_read_cancel() preconditions so that the callers do not have to
2007/12/14 06:06:29rousskov+2 -2comm_has_pending_read() is now comm_monitors_read() to reflect our inability
2007/12/14 06:05:11rousskov+88 -140Removed commfd_completed_events: a list of completed (but not yet fired)
2007/12/13 20:14:42rousskov+3 -12Removed calls to comm_iocallbackpending(). They were added to "Speed up
2007/12/13 19:36:05rousskov+1 -5Removed !comm_has_pending_read assertion because the following comm_read call
2007/12/13 18:57:53rousskov+19 -20Minor polishing touches. No functionality changes.
2007/12/13 18:51:45chtsanti+14 -6Add unique IDs to AsyncCalls. Will help debuging AsyncCalls
2007/12/13 18:47:39rousskov+3 -3Polished and removed XXX after checking that its worries were baseless.
2007/12/13 18:13:54rousskov+1 -2Removed unused nullCallback() method.
2007/12/13 18:13:32rousskov+58 -83Removed accept loop. We cannot loop because async calls do not get fired
2007/12/13 05:40:30rousskov+75 -169Removed class fdc_t. After CommCallbackData removal, fdc_t was only used to
2007/12/12 23:41:53rousskov+9 -202Removed CommCallbackData and related code. It looks like it remained after one
2007/12/05 04:44:49rousskov+21 -41Replaced CommConnected wrapper with job calls. More wrappers need to
2007/12/05 04:44:29rousskov+10 -16Use async calls when notifying registered clients about service availability.
2007/12/05 04:44:09rousskov+4 -13Removed ICAPModXact_noteServiceReady wrapper. Use job calls instead.
2007/12/05 04:43:55rousskov+2 -6ICAPInitiate::sendAnswer dialers take care of message locking now.
2007/12/05 04:43:40rousskov+2 -4Added comments. Removed unused code.
2007/12/05 04:43:26rousskov+12 -220Revised ICAPInitiatorHttpMsgCall into much simpler IcapAnswerDialer to
2007/12/05 04:43:09rousskov+135 -77JobDialer now implements the call/handleException/end logic.
2007/12/05 04:42:48rousskov+80 -60Simplified BodyProducerCall/BodyConsumerCall classes using revised
2007/12/05 04:42:29rousskov+48 -46Synced after revising CommCall dialers and adding GetCommParams().
2007/12/05 04:42:06rousskov+178 -155Simplified CommCalls classes using revised AsyncCall/Dialer API. Comm now
2007/12/05 04:40:09rousskov+193 -331Revised and polished AsyncCall APIs.
2007/11/29 21:04:02rousskov+23 -16Synced after changing delayed read callback storage model from (function
2007/11/29 21:00:27rousskov+516 -153Added initial implelentation of AsyncCall-based wrappers for comm callbacks.
2007/11/29 20:49:25rousskov+3 -3Added comm_read() that accepts AsyncCall. It is used by delayed reads now.
2007/11/29 20:39:37rousskov+5 -5Synced after s/scheduleJobCall/ScheduleCallHere/
2007/11/29 20:39:01rousskov+30 -17Replaced job-specific scheduleJobCall() with generic ScheduleCall() and
2007/11/29 18:43:00rousskov+4 -4Do not ignore initiateIcap() failures. Propagate them.
2007/11/29 18:28:49rousskov+6 -5I realized that cbdata does not destroy objects when they become unlocked.
2007/11/29 18:06:11rousskov+1 -0When trying to fetch fresh ICAP OPTIONS, check that initiateIcap() did not
2007/11/29 18:04:41rousskov+3 -2Avoid cbdata lock leaks if AsyncStart fails.
2007/11/28 21:12:52chtsanti+14 -4 - Few words about BodySink, BodyProducerCall and BodyConsumerCall classes
2007/11/27 21:25:13chtsanti+2 -4- The AsyncCall should destroyed after use in AsyncCall::fireWrapper
2007/11/27 19:34:54chtsanti+6 -8 Removing the thePipe and theProducer members from BodyProducerCall class and thePipe and theConsumer from BodyConsumerC
2007/11/27 19:31:07chtsanti+3 -3- Add the arg1() method to UnaryMemFunT class.
2007/11/27 18:58:54chtsanti+7 -7Rename scheduleJob() macro to scheduleJobCall()
2007/11/27 18:47:44chtsanti+15 -15- Rename NullBodyConsumer to BodySink
2007/11/27 18:36:52chtsanti+23 -24Rename AsyncCallBase class to AsyncCall
2007/11/27 18:19:10chtsanti+4 -4Rename AsyncCallBase::fireWrapper2 to AsyncCallBase::fireWrapper
2007/11/27 18:07:45chtsanti+1 -20Remove AsyncCall() and AsyncCallWrapper() macros. They are no used.
2007/11/21 21:59:38chtsanti+153 -135BodyPipe now uses the new job calls interface.Many changes in BodyPipe's
2007/11/21 21:48:15chtsanti+5 -1- Adding the name method to the AsyncCallBase class to return the name of the AsyncCall
2007/11/20 21:03:43chtsanti+7 -6The JobCall class also holds the cbdata pointer of the theJob object, and
2007/11/17 18:01:54chtsanti+2 -93-Using the new async calls interface to schedule AsyncJob::noteStart method.
2007/11/16 19:08:15chtsanti+6 -11Using the new async calls interface to schedule the ICAPXaction::noteCommConnected method. The ICAPXaction::reusedConnec
2007/11/15 21:18:10chtsanti+4 -6Moving the async call of ICAPInitiate::noteInitiatorAborted to the new async calls interface
2007/11/15 19:49:58chtsanti+64 -14- Moving the async calls to the ICAPInitiator::noteIcapQueryAbort and
2007/11/15 19:41:27chtsanti+3 -1- converting the current async call to the ICAPServiceRep::noteTimeToNotify
2007/11/15 19:38:16chtsanti+14 -10Start replacing some of the asynchronous calls with new asynchronous calls code.
2007/11/13 22:51:06chtsanti+19 -12Moving the implementation of the job() method from JobCallT to JobCall
2007/11/13 22:32:11chtsanti+42 -35-The methods AsyncJob::start AsyncJob::doneAll AsyncJob::swanSong and AsyncJob:
2007/11/13 17:55:44chtsanti+3 -3Converting some rmained calls of *MemFunT::Object to MemFunT::object
2007/11/13 17:40:34chtsanti+29 -29- Removing the AsyncCallBase::theObject, it is not used in AsyncCallBase and replacing this method with jobCall::job me
2007/11/06 18:37:01chtsanti+127 -41- The JobCall holds and can use the name of scheduled method and also the debugsection and level of the caller. This wil
2007/11/01 19:06:21Alex Rousskov+200 -1The first sketch of the AsyncCall wrappers design.
2007/10/25 16:41:20chtsanti+11 -13- Make the AsyncJob::toCbdata() pure virtual again. Implementing this method for AsyncJob was completely wrong.
2007/10/24 17:20:49chtsanti+6 -15use the AsyncJob::deleteThis method as "delete this" replacement instead of the
2007/10/24 17:15:09chtsanti+5 -0Add a cbdataReference to deleteThis method. This hack needed to allow the
2007/10/23 22:46:42chtsanti+1 -2the toCbdata() method does not need to implemented for ServerStateData
2007/10/23 22:42:04chtsanti+12 -4Makes AsyncJob virtual base class for ICAPInitiator and basic implementation of AsyncJob interface for ICAPServiceRep cl
2007/10/23 22:17:06chtsanti+10 -9Make AsyncJob a public virtual base of BodyProducer and BodyConsumer classes.
2007/10/23 20:27:51chtsanti+63 -30-Adjust ClientHttpRequest, ConnStateData and ServerStateData implement AsyncJob interface, using AsyncJob as a virtual b
2007/10/23 19:47:28chtsanti+2 -2Converting the toCbdata() pure virtual method to normal method. This method normally must not used but if needed must i
2007/10/22 19:26:14chtsanti+8 -3- Make AsyncJob class a virtual base class for ICAPInitiate.
2007/10/22 19:24:27chtsanti+94 -6-Implement the AsyncJobHolder class (a clone of the ICAPInitiatorHolder class). The AsyncJobHolder can used to associat
2007/10/22 19:23:01chtsanti+3 -1- CBDATA_CLASS2 macro also implements the toCbdata method for cbdata classes, which can be used in the case of classes d
2007/10/17 21:59:30rousskov+32 -1Added temporary AsyncJob::deleteThis method to replace "delete this" calls
2007/10/14 14:44:28chtsanti+34 -15applying Alex's dirty fix (attachment id=1497) for bug 2093
2007/10/14 14:44:28chtsanti+34 -15applying Alex's dirty fix (attachment id=1497) for bug 2093

Release statistics

AuthorChangesetsChanges
Alex Rousskov1+200 -1
chtsanti132+4536 -3114
rousskov57+2318 -2403
total190+7054 -5518

Back