DelayedAsyncCalls.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #include "squid.h"
10 #include "base/AsyncCall.h"
11 #include "base/DelayedAsyncCalls.h"
12 #include "debug/Stream.h"
13 
14 void
16 {
17  debugs(5, 3, call << " after " << deferredReads.size());
18  deferredReads.add(call);
19 }
20 
21 void
23 {
24  while (auto call = deferredReads.extract())
25  ScheduleCallHere(call);
26 }
27 
#define ScheduleCallHere(call)
Definition: AsyncCall.h:166
void delay(const AsyncCallPointer &)
stores the given call to schedule it at schedule() or destruction time
AsyncCallList deferredReads
delay()-ed calls waiting to be scheduled, in delay() call order
void schedule()
schedules and forgets all async calls previously stored by delay()
size_t size() const
the number of currently stored calls
Definition: AsyncCallList.h:34
void add(const AsyncCallPointer &)
stores the given async call
#define debugs(SECTION, LEVEL, CONTENT)
Definition: Stream.h:192
AsyncCallPointer extract()

 

Introduction

Documentation

Support

Miscellaneous