AsyncCallQueue.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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 #ifndef SQUID_ASYNCCALLQUEUE_H
10 #define SQUID_ASYNCCALLQUEUE_H
11 
12 #include "base/AsyncCall.h"
13 
14 //class AsyncCall;
15 
16 // The queue of asynchronous calls. All calls are fired during a single main
17 // loop iteration until the queue is exhausted
19 {
20 public:
21  // there is only one queue
22  static AsyncCallQueue &Instance();
23 
24  // make this async call when we get a chance
25  void schedule(AsyncCall::Pointer &call);
26 
27  // fire all scheduled calls; returns true if at least one was fired
28  bool fire();
29 
30 private:
32 
33  void fireNext();
34 
37 
39 };
40 
41 #endif /* SQUID_ASYNCCALLQUEUE_H */
42 
AsyncCall::Pointer theHead
AsyncCall::Pointer theTail
static AsyncCallQueue * TheInstance
void schedule(AsyncCall::Pointer &call)
static AsyncCallQueue & Instance()

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors