/*
- * $Id: DelayVector.cc,v 1.5 2003/03/10 20:12:43 robertc Exp $
+ * $Id: DelayVector.cc,v 1.6 2003/05/15 07:06:24 robertc Exp $
*
* DEBUG: section 77 Delay Pools
* AUTHOR: Robert Collins <robertc@squid-cache.org>
delete this;
}
+DelayVector::DelayVector()
+{
+ DelayPools::RegisterForUpdates (this);
+}
+
DelayVector::~DelayVector()
-{}
+{
+ DelayPools::DeregisterForUpdates (this);
+}
void
DelayVector::stats(StoreEntry * sentry)
void
DelayVector::update(int incr)
{
- iterator pos = pools.begin();
-
- while (pos != pools.end()) {
- (*pos)->update(incr);
- ++pos;
- }
+ /*
+ * Each pool updates itself,
+ * but we may have deferred reads waiting on the pool as a whole.
+ */
kickReads();
}
/*
- * $Id: DelayVector.h,v 1.5 2003/03/06 11:51:55 robertc Exp $
+ * $Id: DelayVector.h,v 1.6 2003/05/15 07:06:24 robertc Exp $
*
*
* SQUID Web Proxy Cache http://www.squid-cache.org/
void *operator new(size_t);
void operator delete (void *);
virtual void deleteSelf() const;
+ DelayVector();
virtual ~DelayVector();
virtual void stats(StoreEntry * sentry);
virtual void dump(StoreEntry *entry) const;