-
/*
- * $Id: DelayTagged.h,v 1.5 2007/05/18 06:41:22 amosjeffries Exp $
- *
* DEBUG: section 77 Delay Pools
* AUTHOR: Robert Collins <robertc@squid-cache.org>
*
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
*
* Copyright (c) 2003, Robert Collins <robertc@squid-cache.org>
*/
-
-#include "config.h"
-
#ifndef DELAYTAGGED_H
#define DELAYTAGGED_H
-#include "squid.h"
-#include "authenticate.h"
+#if USE_DELAY_POOLS
+
+#include "auth/Gadgets.h"
+#include "base/Vector.h"
#include "CompositePoolNode.h"
-#include "DelayIdComposite.h"
#include "DelayBucket.h"
+#include "DelayIdComposite.h"
#include "DelaySpec.h"
-#include "Array.h"
#include "splay.h"
+/// \ingroup DelayPoolsAPI
class DelayTaggedBucket : public RefCountable
{
void operator delete (void *);
void stats(StoreEntry *)const;
- DelayTaggedBucket(string &aTag);
+ DelayTaggedBucket(String &aTag);
~DelayTaggedBucket();
DelayBucket theBucket;
- string tag;
+ String tag;
};
+/// \ingroup DelayPoolsAPI
class DelayTagged : public CompositePoolNode
{
private:
-class Id:public DelayIdComposite
+ /// \ingroup DelayPoolsInternal
+ class Id:public DelayIdComposite
{
public:
void *operator new(size_t);
void operator delete (void *);
- Id (RefCount<DelayTagged>, string &);
+ Id (RefCount<DelayTagged>, String &);
~Id();
virtual int bytesWanted (int min, int max) const;
virtual void bytesIn(int qty);
Splay<DelayTaggedBucket::Pointer> buckets;
};
+#endif /* USE_DELAY_POOLS */
#endif /* DELAYTAGGED_H */