]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Cleanup: convert Delay Pool classes to MEMPROXY
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 27 Jan 2017 11:04:30 +0000 (00:04 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 27 Jan 2017 11:04:30 +0000 (00:04 +1300)
13 files changed:
src/CommonPool.h
src/CompositePoolNode.h
src/DelayPools.h
src/DelayTagged.cc
src/DelayTagged.h
src/DelayUser.cc
src/DelayUser.h
src/DelayVector.cc
src/DelayVector.h
src/Makefile.am
src/NullDelayId.cc [deleted file]
src/NullDelayId.h
src/delay_pools.cc

index 21ac458cdc0b4e1b683820b8f21755c6169fe768..88d3844279f0ae094b411d62533b923c67f11103 100644 (file)
  */
 class CommonPool
 {
+    MEMPROXY_CLASS(CommonPool);
 
 public:
-    void *operator new(size_t);
-    void operator delete (void *);
     static CommonPool *Factory (unsigned char _class, CompositePoolNode::Pointer&);
     char const* theClassTypeLabel() const {return typeLabel.termedBuf();}
 
index 9ee4ed6341ddc6d7cc733227e784fd77aba0acd0..f74f21bfe3db4b326fe2b8b0798a39f528421a23 100644 (file)
@@ -24,11 +24,10 @@ class StoreEntry;
 /// \ingroup DelayPoolsAPI
 class CompositePoolNode : public RefCountable, public Updateable
 {
+    MEMPROXY_CLASS(CompositePoolNode);
 
 public:
     typedef RefCount<CompositePoolNode> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
     virtual ~CompositePoolNode() {}
 
     virtual void stats(StoreEntry * sentry) =0;
index f515794e5b69fb45898c0d58d25b36f083b26fdf..4aa7c2846095ed7ec177cb549a4a0658dc10168a 100644 (file)
@@ -43,7 +43,6 @@ public:
     static unsigned char *DelayClasses();
     static void registerForUpdates(Updateable *);
     static void deregisterForUpdates (Updateable *);
-    static long MemoryUsed;
     static DelayPool *delay_data;
 
 private:
index bd9ce0c07510d1fbcba30b7b4b3a47643abcf526..f4e23122540e9127a61bca31fc4534fcda1dae18 100644 (file)
 #include "NullDelayId.h"
 #include "Store.h"
 
-void *
-DelayTagged::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (DelayTagged);
-    return ::operator new (size);
-}
-
-void
-DelayTagged::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (DelayTagged);
-    ::operator delete (address);
-}
-
 DelayTagged::DelayTagged()
 {
     DelayPools::registerForUpdates (this);
@@ -138,34 +124,6 @@ DelayTagged::id(CompositePoolNode::CompositeSelectionDetails &details)
     return new Id(this, details.tag);
 }
 
-void *
-DelayTagged::Id::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (Id);
-    return ::operator new (size);
-}
-
-void
-DelayTagged::Id::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (Id);
-    ::operator delete (address);
-}
-
-void *
-DelayTaggedBucket::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (DelayTaggedBucket);
-    return ::operator new (size);
-}
-
-void
-DelayTaggedBucket::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (DelayTaggedBucket);
-    ::operator delete (address);
-}
-
 DelayTaggedBucket::DelayTaggedBucket(String &aTag) : tag (aTag)
 {
     debugs(77, 3, "DelayTaggedBucket::DelayTaggedBucket");
index 1fea930487d78d2721bba78942a6de66309dece4..866cf1078f960d96dedc6db336441bd853484dd6 100644 (file)
 /// \ingroup DelayPoolsAPI
 class DelayTaggedBucket : public RefCountable
 {
+    MEMPROXY_CLASS(DelayTaggedBucket);
 
 public:
     typedef RefCount<DelayTaggedBucket> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
 
     void stats(StoreEntry *)const;
     DelayTaggedBucket(String &aTag);
@@ -39,11 +38,11 @@ public:
 /// \ingroup DelayPoolsAPI
 class DelayTagged : public CompositePoolNode
 {
+    MEMPROXY_CLASS(DelayTagged);
 
 public:
     typedef RefCount<DelayTagged> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
+
     DelayTagged();
     virtual ~DelayTagged();
     virtual void stats(StoreEntry * sentry);
@@ -58,10 +57,9 @@ private:
     /// \ingroup DelayPoolsInternal
     class Id:public DelayIdComposite
     {
+        MEMPROXY_CLASS(DelayTagged::Id);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
         Id (RefCount<DelayTagged>, String &);
         ~Id();
         virtual int bytesWanted (int min, int max) const;
index 72220bafc569df257fdf64fae15a8e941d51c8ba..f2754e842d9dd5812353e82ca181406a757b14f1 100644 (file)
 #include "NullDelayId.h"
 #include "Store.h"
 
-void *
-DelayUser::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (DelayUser);
-    return ::operator new (size);
-}
-
-void
-DelayUser::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (DelayUser);
-    ::operator delete (address);
-}
-
 DelayUser::DelayUser()
 {
     DelayPools::registerForUpdates (this);
@@ -149,34 +135,6 @@ DelayUser::id(CompositePoolNode::CompositeSelectionDetails &details)
     return new Id(this, details.user->user());
 }
 
-void *
-DelayUser::Id::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (Id);
-    return ::operator new (size);
-}
-
-void
-DelayUser::Id::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (Id);
-    ::operator delete (address);
-}
-
-void *
-DelayUserBucket::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (DelayUserBucket);
-    return ::operator new (size);
-}
-
-void
-DelayUserBucket::operator delete(void *address)
-{
-    DelayPools::MemoryUsed -= sizeof(DelayUserBucket);
-    ::operator delete(address);
-}
-
 DelayUserBucket::DelayUserBucket(Auth::User::Pointer aUser) : authUser(aUser)
 {
     debugs(77, 3, "DelayUserBucket::DelayUserBucket");
index 59feb185456610f7de2c42a4063b3027a11d8aa7..a3fd509756dd49ed4ec586d64bc1fe5e169f334b 100644 (file)
 /// \ingroup DelayPoolsAPI
 class DelayUserBucket : public RefCountable
 {
+    MEMPROXY_CLASS(DelayUserBucket);
 
 public:
     typedef RefCount<DelayUserBucket> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
 
     void stats(StoreEntry *)const;
     DelayUserBucket(Auth::User::Pointer);
@@ -40,11 +39,10 @@ public:
 /// \ingroup DelayPoolsAPI
 class DelayUser : public CompositePoolNode
 {
+    MEMPROXY_CLASS(DelayUser);
 
 public:
     typedef RefCount<DelayUser> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
     DelayUser();
     virtual ~DelayUser();
     virtual void stats(StoreEntry * sentry);
@@ -59,10 +57,9 @@ private:
     /// \ingroup DelayPoolsInternal
     class Id:public DelayIdComposite
     {
+        MEMPROXY_CLASS(DelayUser::Id);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
         Id(RefCount<DelayUser>, Auth::User::Pointer);
         ~Id();
         virtual int bytesWanted (int min, int max) const;
index 060a843bb902f47ffe9351539be84ef71e38782b..cb9dc0d57eca6c86027e7da622f8a91611e350e0 100644 (file)
 #include "CommRead.h"
 #include "DelayVector.h"
 
-void *
-DelayVector::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (DelayVector);
-    return ::operator new (size);
-}
-
-void
-DelayVector::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (DelayVector);
-    ::operator delete (address);
-}
-
 DelayVector::DelayVector()
 {
     DelayPools::registerForUpdates (this);
@@ -95,20 +81,6 @@ DelayVector::push_back(CompositePoolNode::Pointer aNode)
     pools.push_back(aNode);
 }
 
-void *
-DelayVector::Id::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (Id);
-    return ::operator new (size);
-}
-
-void
-DelayVector::Id::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (Id);
-    ::operator delete (address);
-}
-
 DelayVector::Id::Id(DelayVector::Pointer aDelayVector, CompositeSelectionDetails &details) : theVector(aDelayVector)
 {
     debugs(77, 3, "DelayVector::Id::Id");
index 2c701dc9b200002920b5ca5f92f5f68f5f0cdc32..24e4900f872b2675eb84ca8c6a112b4bffd7c793 100644 (file)
 /// \ingroup DelayPoolsAPI
 class DelayVector : public CompositePoolNode
 {
+    MEMPROXY_CLASS(DelayVector);
 
 public:
     typedef RefCount<DelayVector> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
     DelayVector();
     virtual ~DelayVector();
     virtual void stats(StoreEntry * sentry);
@@ -36,11 +35,9 @@ private:
     /// \ingroup DelayPoolsInternal
     class Id:public DelayIdComposite
     {
+        MEMPROXY_CLASS(DelayVector::Id);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
-
         Id (RefCount<DelayVector>,CompositeSelectionDetails &);
         ~Id();
         virtual int bytesWanted (int min, int max) const;
index 535c290fadeaaa3d836b26070f8900236a82ba6a..7d284717953bf795dc4614431748fb143645989a 100644 (file)
@@ -109,7 +109,6 @@ DELAY_POOL_ALL_SOURCE = \
        DelayUser.h \
        DelayVector.cc \
        DelayVector.h \
-       NullDelayId.cc \
        NullDelayId.h \
        ClientDelayConfig.cc \
        ClientDelayConfig.h
diff --git a/src/NullDelayId.cc b/src/NullDelayId.cc
deleted file mode 100644 (file)
index b27d48e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
- *
- * Squid software is distributed under GPLv2+ license and includes
- * contributions from numerous individuals and organizations.
- * Please see the COPYING and CONTRIBUTORS files for details.
- */
-
-/* DEBUG: section 77    Delay Pools */
-
-#include "squid.h"
-
-#if USE_DELAY_POOLS
-#include "DelayPools.h"
-#include "NullDelayId.h"
-
-void *
-NullDelayId::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (NullDelayId);
-    return ::operator new (size);
-}
-
-void
-NullDelayId::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (NullDelayId);
-    ::operator delete (address);
-}
-
-#endif /* USE_DELAY_POOLS */
-
index f0b5645128ea144c3e2e0bb32433bba784cccbaa..0ef3ce03c62f1cd3c66a4f3303c4b0089dd1e829 100644 (file)
 #define NULLDELAYID_H
 
 #if USE_DELAY_POOLS
-#include "base/RefCount.h"
 #include "DelayIdComposite.h"
 
 class NullDelayId : public DelayIdComposite
 {
+    MEMPROXY_CLASS(NullDelayId);
 
 public:
-    void *operator new(size_t);
-    void operator delete (void *);
     virtual int bytesWanted (int minimum, int maximum) const {return max(minimum,maximum);}
 
     virtual void bytesIn(int qty) {}
index 4166e6df99aa9c6326ff4a2ccebe09c3f1f07c2a..4014b56b0588cc917659f7a583949ac3834c5c53 100644 (file)
 #include "Store.h"
 #include "StoreClient.h"
 
-/// \ingroup DelayPoolsInternal
-long DelayPools::MemoryUsed = 0;
-
 /// \ingroup DelayPoolsInternal
 class Aggregate : public CompositePoolNode
 {
+    MEMPROXY_CLASS(Aggregate);
 
 public:
     typedef RefCount<Aggregate> Pointer;
-    void *operator new(size_t);
-    void operator delete (void *);
     Aggregate();
     ~Aggregate();
     virtual DelaySpec *rate() {return &spec;}
@@ -69,10 +65,9 @@ private:
     /// \ingroup DelayPoolsInternal
     class AggregateId:public DelayIdComposite
     {
+        MEMPROXY_CLASS(Aggregate::AggregateId);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
         AggregateId (RefCount<Aggregate>);
         virtual int bytesWanted (int min, int max) const;
         virtual void bytesIn(int qty);
@@ -140,10 +135,9 @@ protected:
     /// \ingroup DelayPoolsInternal
     class Id:public DelayIdComposite
     {
+        MEMPROXY_CLASS(VectorPool::Id);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
         Id (RefCount<VectorPool>, int);
         virtual int bytesWanted (int min, int max) const;
         virtual void bytesIn(int qty);
@@ -157,10 +151,7 @@ protected:
 /// \ingroup DelayPoolsInternal
 class IndividualPool : public VectorPool
 {
-
-public:
-    void *operator new(size_t);
-    void operator delete(void *);
+    MEMPROXY_CLASS(IndividualPool);
 
 protected:
     virtual char const *label() const {return "Individual";}
@@ -170,10 +161,7 @@ protected:
 /// \ingroup DelayPoolsInternal
 class ClassCNetPool : public VectorPool
 {
-
-public:
-    void *operator new(size_t);
-    void operator delete (void *);
+    MEMPROXY_CLASS(ClassCNetPool);
 
 protected:
     virtual char const *label() const {return "Network";}
@@ -235,10 +223,9 @@ protected:
     /// \ingroup DelayPoolsInternal
     class Id:public DelayIdComposite
     {
+        MEMPROXY_CLASS(ClassCHostPool::Id);
 
     public:
-        void *operator new(size_t);
-        void operator delete (void *);
         Id (RefCount<ClassCHostPool>, unsigned char, unsigned char);
         virtual int bytesWanted (int min, int max) const;
         virtual void bytesIn(int qty);
@@ -256,20 +243,6 @@ Aggregate::AggregateId::delayRead(DeferredRead const &aRead)
     theAggregate->delayRead(aRead);
 }
 
-void *
-CommonPool::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (CommonPool);
-    return ::operator new (size);
-}
-
-void
-CommonPool::operator delete(void *address)
-{
-    DelayPools::MemoryUsed -= sizeof(CommonPool);
-    ::operator delete(address);
-}
-
 CommonPool *
 CommonPool::Factory(unsigned char _class, CompositePoolNode::Pointer& compositeCopy)
 {
@@ -400,34 +373,6 @@ ClassCBucket::initHostIndex (DelaySpec &rate, unsigned char index, unsigned char
     individuals.values[newIndex].init (rate);
 }
 
-void *
-CompositePoolNode::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (CompositePoolNode);
-    return ::operator new (size);
-}
-
-void
-CompositePoolNode::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (CompositePoolNode);
-    ::operator delete (address);
-}
-
-void *
-Aggregate::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (Aggregate);
-    return ::operator new (size);
-}
-
-void
-Aggregate::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (Aggregate);
-    ::operator delete (address);
-}
-
 Aggregate::Aggregate()
 {
     theBucket.init (*rate());
@@ -482,20 +427,6 @@ Aggregate::id(CompositeSelectionDetails &details)
         return new NullDelayId;
 }
 
-void *
-Aggregate::AggregateId::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (AggregateId);
-    return ::operator new (size);
-}
-
-void
-Aggregate::AggregateId::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (AggregateId);
-    ::operator delete (address);
-}
-
 Aggregate::AggregateId::AggregateId(RefCount<Aggregate> anAggregate) : theAggregate(anAggregate)
 {}
 
@@ -537,8 +468,6 @@ DelayPools::InitDelayData()
 
     DelayPools::delay_data = new DelayPool[pools()];
 
-    DelayPools::MemoryUsed += pools() * sizeof(DelayPool);
-
     eventAdd("DelayPools::Update", DelayPools::Update, NULL, 1.0, 1);
 }
 
@@ -547,7 +476,6 @@ DelayPools::FreeDelayData()
 {
     eventDelete(DelayPools::Update, NULL);
     delete[] DelayPools::delay_data;
-    DelayPools::MemoryUsed -= pools() * sizeof(*DelayPools::delay_data);
     pools_ = 0;
 }
 
@@ -610,19 +538,15 @@ std::vector<Updateable *> DelayPools::toUpdate;
 void
 DelayPools::Stats(StoreEntry * sentry)
 {
-    unsigned short i;
-
     storeAppendPrintf(sentry, "Delay pools configured: %d\n\n", DelayPools::pools());
 
-    for (i = 0; i < DelayPools::pools(); ++i) {
+    for (unsigned short i = 0; i < DelayPools::pools(); ++i) {
         if (DelayPools::delay_data[i].theComposite().getRaw()) {
             storeAppendPrintf(sentry, "Pool: %d\n\tClass: %s\n\n", i + 1, DelayPools::delay_data[i].pool->theClassTypeLabel());
             DelayPools::delay_data[i].theComposite()->stats (sentry);
         } else
             storeAppendPrintf(sentry, "\tMisconfigured pool.\n\n");
     }
-
-    storeAppendPrintf(sentry, "Memory Used: %d bytes\n", (int) DelayPools::MemoryUsed);
 }
 
 void
@@ -679,20 +603,6 @@ VectorMap<Key,Value>::insert (Key const key)
     return index;
 }
 
-void *
-IndividualPool::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (IndividualPool);
-    return ::operator new (size);
-}
-
-void
-IndividualPool::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (IndividualPool);
-    ::operator delete (address);
-}
-
 VectorPool::VectorPool()
 {
     DelayPools::registerForUpdates (this);
@@ -799,20 +709,6 @@ VectorPool::id(CompositeSelectionDetails &details)
     return new Id(this, resultIndex);
 }
 
-void *
-VectorPool::Id::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (Id);
-    return ::operator new (size);
-}
-
-void
-VectorPool::Id::operator delete(void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (Id);
-    ::operator delete (address);
-}
-
 VectorPool::Id::Id(VectorPool::Pointer aPool, int anIndex) : theVector (aPool), theIndex (anIndex)
 {}
 
@@ -840,20 +736,6 @@ IndividualPool::makeKey(Ip::Address &src_addr) const
     return (ntohl(host.s_addr) & 0xff);
 }
 
-void *
-ClassCNetPool::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (ClassCNetPool);
-    return ::operator new (size);
-}
-
-void
-ClassCNetPool::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (ClassCNetPool);
-    ::operator delete (address);
-}
-
 unsigned int
 ClassCNetPool::makeKey(Ip::Address &src_addr) const
 {
@@ -979,20 +861,6 @@ ClassCHostPool::id(CompositeSelectionDetails &details)
     return new Id (this, netIndex, hostIndex);
 }
 
-void *
-ClassCHostPool::Id::operator new(size_t size)
-{
-    DelayPools::MemoryUsed += sizeof (Id);
-    return ::operator new (size);
-}
-
-void
-ClassCHostPool::Id::operator delete (void *address)
-{
-    DelayPools::MemoryUsed -= sizeof (Id);
-    ::operator delete (address);
-}
-
 ClassCHostPool::Id::Id (ClassCHostPool::Pointer aPool, unsigned char aNet, unsigned char aHost) : theClassCHost (aPool), theNet (aNet), theHost (aHost)
 {}