From: Robert Varga Date: Thu, 14 Aug 2014 09:13:19 +0000 (+0200) Subject: BUG-1493: split off recursion tracking and rework it X-Git-Tag: release/helium~257^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=8061503ad1ea985067ba14c19210a7b9a09b0db1;hp=8061503ad1ea985067ba14c19210a7b9a09b0db1 BUG-1493: split off recursion tracking and rework it This patch reworks tracking of recursion state into a separate class. This allows us to unify the four call sites and provide a simple heuristic. A state object is allocated each time we enter a new child and its buidlers are collected when we emerge from it -- resulting in more accurate event reporting, eliminating false positives. Further optimization allows us to stop recursing as soon as we know no listeners are affected by the outcome at a particular level. Change-Id: I2be29cebb79892c85a22e79b18c2e62f77bfb7d4 Signed-off-by: Robert Varga ---