| 650 | } |
| 651 | |
| 652 | void CSnapshotStorage::PurgeUntil(int Tick) |
| 653 | { |
| 654 | CHolder *pHolder = m_pFirst; |
| 655 | |
| 656 | while(pHolder) |
| 657 | { |
| 658 | CHolder *pNext = pHolder->m_pNext; |
| 659 | if(pHolder->m_Tick >= Tick) |
| 660 | return; // no more to remove |
| 661 | free(pHolder->m_pSnap); |
| 662 | free(pHolder->m_pAltSnap); |
| 663 | free(pHolder); |
| 664 | |
| 665 | // did we come to the end of the list? |
| 666 | if(!pNext) |
| 667 | break; |
| 668 | |
| 669 | m_pFirst = pNext; |
| 670 | pNext->m_pPrev = nullptr; |
| 671 | pHolder = pNext; |
| 672 | } |
| 673 | |
| 674 | // no more snapshots in storage |
| 675 | m_pFirst = nullptr; |
| 676 | m_pLast = nullptr; |
| 677 | } |
| 678 | |
| 679 | void CSnapshotStorage::Add(int Tick, int64_t Tagtime, size_t DataSize, const void *pData, size_t AltDataSize, const void *pAltData) |
| 680 | { |
no outgoing calls
no test coverage detected