diff options
Diffstat (limited to 'simulator/app/LogPool.cpp')
| -rw-r--r-- | simulator/app/LogPool.cpp | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/simulator/app/LogPool.cpp b/simulator/app/LogPool.cpp deleted file mode 100644 index 43bf4be7f..000000000 --- a/simulator/app/LogPool.cpp +++ /dev/null @@ -1,90 +0,0 @@ -// -// Copyright 2005 The Android Open Source Project -// -// Hold a collection of log messages, limiting ourselves to a certain -// fixed maximum amount of memory. -// -#include "LogPool.h" -#include <assert.h> - - -/* - * Add a message at the head of the pool. - */ -void LogPool::Add(LogMessage* pLogMessage) -{ - pLogMessage->Acquire(); // bump up the ref count - - assert(pLogMessage->GetPrev() == NULL); - assert(pLogMessage->GetNext() == NULL); - - if (mpHead == NULL) { - assert(mpTail == NULL); - mpTail = mpHead = pLogMessage; - } else { - assert(mpHead->GetPrev() == NULL); - mpHead->SetPrev(pLogMessage); - pLogMessage->SetNext(mpHead); - mpHead = pLogMessage; - } - - /* update the pool size, and remove old entries if necessary */ - mCurrentSize += pLogMessage->GetFootprint(); - - while (mCurrentSize > mMaxSize) - RemoveOldest(); -} - -/* - * Remove the oldest message (from the tail of the list). - */ -void LogPool::RemoveOldest(void) -{ - LogMessage* pPrev; - - if (mpTail == NULL) { - fprintf(stderr, "HEY: nothing left to remove (cur=%ld)\n", - mCurrentSize); - assert(false); - return; - } - - if (mpTail == mpBookmark) - mpBookmark = NULL; - - //printf("--- removing oldest, size %ld->%ld (%s)\n", - // mCurrentSize, mCurrentSize - mpTail->GetFootprint(),mpTail->GetMsg()); - mCurrentSize -= mpTail->GetFootprint(); - - pPrev = mpTail->GetPrev(); - mpTail->Release(); - mpTail = pPrev; - if (mpTail == NULL) { - //printf("--- pool is now empty (size=%ld)\n", mCurrentSize); - mpHead = NULL; - } else { - mpTail->SetNext(NULL); - } -} - -/* - * Resize the log pool. - */ -void LogPool::Resize(long maxSize) -{ - assert(maxSize >= 0); - - mMaxSize = maxSize; - while (mCurrentSize > mMaxSize) - RemoveOldest(); -} - -/* - * Remove all entries. - */ -void LogPool::Clear(void) -{ - while (mpTail != NULL) - RemoveOldest(); -} - |
