/* This file is part of VoltDB.
 * Copyright (C) 2008-2013 VoltDB Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with VoltDB.  If not, see <http://www.gnu.org/licenses/>.
 */
package org.voltdb;

/**
 * System Procedure progress callback interface. Start indicates the total result size expected.
 * Progress updates the work done so far. End indicates that processing is done. Implementer
 * needs to handle these and track the counters and report progress to user or some other system.
 */
public interface SnapshotProgressMonitor {

    void reportProgress(VoltTable table);

}

@@ -761,21 +761,23 @@
 /**%0A * S
-ystem
+napshot
  Procedu
@@ -811,136 +811,55 @@
 ace.
- Start indicates the total result size expected.%0A * Progress updates the work done so far. End indicates that processing is done
+%0A * reportProgress updates the work done so far
 . Im
@@ -867,19 +867,16 @@
 lementer
-%0A *
  needs t
@@ -893,16 +893,19 @@
 hese and
+%0A *
  track t
@@ -947,29 +947,8 @@
 user
- or some other system
 .%0A *
@@ -993,16 +993,53 @@
 itor %7B%0A%0A
+    //Update your internal counters.%0A
     void

prepare for review.