persistentstorage/sql/SRC/Server/Compact/SqlCompactTimer.h
branchRCL_3
changeset 9 667e88a979d7
parent 0 08ec8eefde2f
child 10 31a8f755b7fe
equal deleted inserted replaced
8:fa9941cf3867 9:667e88a979d7
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
    28 #define SQLCOMPACTTIMER_INVARIANT() void(0)
    28 #define SQLCOMPACTTIMER_INVARIANT() void(0)
    29 #endif
    29 #endif
    30 
    30 
    31 /**
    31 /**
    32 A CTimer derived class that performs the background compaction.
    32 A CTimer derived class that performs the background compaction.
    33 The CSqlCompactTimer class maintains a queue of CSqlCompactTimer objects waiting to be compacted
    33 The CSqlCompactTimer class maintains a queue of CSqlCompactEntry objects waiting to be compacted
    34 (the databases).
    34 (the databases).
    35 The class offers methods for adding/removing CSqlCompactTimer objects to/from the queue and a Restart()
    35 The class offers methods for adding/removing CSqlCompactEntry objects to/from the queue and a Restart()
    36 method that can be used to delay the next compaction step, improving this way the SQL server responsiveness to 
    36 method that can be used to delay the next compaction step, improving this way the SQL server responsiveness to 
    37 client requests.
    37 client requests.
    38 
    38 
    39 The CSqlCompactTimer objects needed compaction will be added at the fromt of the queue.
    39 The CSqlCompactEntry objects needed compaction will be added at the front of the queue.
    40 Every time when timer's RunL() method gets executed, the last element from the queue will be picked-up and one
    40 Every time when timer's RunL() method gets executed, the last element from the queue will be picked-up and one
    41 compaction step will be performed. When the CSqlCompactEntry object completes the compaction, it will remove
    41 compaction step will be performed. When the CSqlCompactEntry object completes the compaction, it will remove
    42 itself from the queue.
    42 itself from the queue.
    43 
    43 
    44 @see CSqlCompactEntry
    44 @see CSqlCompactEntry