Index: trunk/BNC/bncapp.cpp
===================================================================
--- trunk/BNC/bncapp.cpp	(revision 975)
+++ trunk/BNC/bncapp.cpp	(revision 976)
@@ -623,17 +623,38 @@
   _corrs->insert(coTime, QString(line + " " + staID));
 
-  QMutableListIterator<QTcpSocket*> is(*_socketsCorr);
-  while (is.hasNext()) {
-    QTcpSocket* sock = is.next();
-    if (sock->state() == QAbstractSocket::ConnectedState) {
-      if (sock->write(QString(line + " " + staID + "\n").toAscii()) == -1) {
-        delete sock;
-        is.remove();
-      }
-    }
-    else if (sock->state() != QAbstractSocket::ConnectingState) {
-      delete sock;
-      is.remove();
-    }
-  }
-}
+  // Dump Corrections
+  // ----------------
+  if (coTime - _waitCoTime > _lastDumpCoSec) {
+    dumpCorrs(_lastDumpCoSec + 1, coTime - _waitCoTime);
+    _lastDumpCoSec = coTime - _waitCoTime;
+  }
+}
+
+// Dump Complete Correction Epochs
+////////////////////////////////////////////////////////////////////////////
+void bncApp::dumpCorrs(long minTime, long maxTime) {
+
+  for (long sec = minTime; sec <= maxTime; sec++) {
+    QList<QString> allCorrs = _corrs->values(sec);
+    QListIterator<QString> it(allCorrs);
+    while (it.hasNext()) {
+      QString corrLine = it.next() + "\n";
+
+      QMutableListIterator<QTcpSocket*> is(*_socketsCorr);
+      while (is.hasNext()) {
+        QTcpSocket* sock = is.next();
+        if (sock->state() == QAbstractSocket::ConnectedState) {
+          if (sock->write(corrLine.toAscii()) == -1) {
+            delete sock;
+            is.remove();
+          }
+        }
+        else if (sock->state() != QAbstractSocket::ConnectingState) {
+          delete sock;
+          is.remove();
+        }
+      }
+    }
+    _corrs->remove(sec);
+  }
+}
Index: trunk/BNC/bncapp.h
===================================================================
--- trunk/BNC/bncapp.h	(revision 975)
+++ trunk/BNC/bncapp.h	(revision 976)
@@ -60,4 +60,5 @@
                      const QString& lineV3,
                      const QByteArray& allLines);
+    void dumpCorrs(long minTime, long maxTime);
 
     QFile*            _logFile;
