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"
12#include "debug/Stream.h"
13
14void
16{
17 debugs(5, 3, call << " after " << deferredReads.size());
18 deferredReads.add(call);
19}
20
21void
23{
24 while (auto call = deferredReads.extract())
25 ScheduleCallHere(call);
26}
27
#define ScheduleCallHere(call)
Definition: AsyncCall.h:166
size_t size() const
the number of currently stored calls
Definition: AsyncCallList.h:34
AsyncCallPointer extract()
void add(const AsyncCallPointer &)
stores the given async call
void schedule()
schedules and forgets all async calls previously stored by delay()
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
#define debugs(SECTION, LEVEL, CONTENT)
Definition: Stream.h:194

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors