Commit a053308b authored by Sebastian Kummer's avatar Sebastian Kummer

ZP-1251 Aggregate Ping announcements about changes.

Released under the Affero GNU General Public License (AGPL) version 3.
parent 78896d3a
...@@ -216,16 +216,27 @@ class Ping extends RequestProcessor { ...@@ -216,16 +216,27 @@ class Ping extends RequestProcessor {
else else
$changes = $fakechanges; $changes = $fakechanges;
$announceAggregated = false;
if (count($changes) > 1) {
$announceAggregated = 0;
}
foreach ($changes as $folderid => $changecount) { foreach ($changes as $folderid => $changecount) {
if ($changecount > 0) { if ($changecount > 0) {
self::$encoder->startTag(SYNC_PING_FOLDER); self::$encoder->startTag(SYNC_PING_FOLDER);
self::$encoder->content($folderid); self::$encoder->content($folderid);
self::$encoder->endTag(); self::$encoder->endTag();
if (empty($fakechanges)) if ($announceAggregated === false) {
self::$topCollector->AnnounceInformation(sprintf("Found change in %s", $sc->GetCollection($folderid)->GetContentClass()), true); self::$topCollector->AnnounceInformation(sprintf("Found change in %s", $sc->GetCollection($folderid)->GetContentClass()), true);
}
else {
$announceAggregated += $changecount;
}
self::$deviceManager->AnnounceProcessStatus($folderid, SYNC_PINGSTATUS_CHANGES); self::$deviceManager->AnnounceProcessStatus($folderid, SYNC_PINGSTATUS_CHANGES);
} }
} }
if ($announceAggregated !== false) {
self::$topCollector->AnnounceInformation(sprintf("Found %d changes in %d folders", $announceAggregated, count($changes)), true);
}
self::$encoder->endTag(); self::$encoder->endTag();
} }
elseif($pingstatus == SYNC_PINGSTATUS_HBOUTOFRANGE){ elseif($pingstatus == SYNC_PINGSTATUS_HBOUTOFRANGE){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment