@@ -85,13 +85,10 @@ private Runnable runInitialFetch(final Consumer<UnleashException> handler) {
8585 return () -> {
8686 try {
8787 ClientFeaturesResponse response = featureFetcher .fetchFeatures ();
88+ eventEmitter .update (response );
8889 if (response .getStatus () == ClientFeaturesResponse .Status .CHANGED ) {
89- String currentState = applyClientFeatures (response );
90- eventEmitter .update (ClientFeaturesResponse .updated (currentState ));
91- } else {
92- eventEmitter .update (response );
93- }
94- if (response .getStatus () == ClientFeaturesResponse .Status .UNAVAILABLE ) {
90+ updateFeatures (response );
91+ } else if (response .getStatus () == ClientFeaturesResponse .Status .UNAVAILABLE ) {
9592 if (unleashConfig .isSynchronousFetchOnInitialisation ()) {
9693 throw new UnleashException (
9794 String .format (
@@ -114,15 +111,12 @@ private Runnable runSteadyStateFetch(final Consumer<UnleashException> handler) {
114111 if (throttler .performAction ()) {
115112 try {
116113 ClientFeaturesResponse response = featureFetcher .fetchFeatures ();
114+ eventEmitter .update (response );
117115 if (response .getStatus () == ClientFeaturesResponse .Status .CHANGED ) {
118- String currentState = applyClientFeatures (response );
119- eventEmitter .update (ClientFeaturesResponse .updated (currentState ));
116+ updateFeatures (response );
120117 } else if (response .getStatus () == ClientFeaturesResponse .Status .UNAVAILABLE ) {
121- eventEmitter .update (response );
122118 throttler .handleHttpErrorCodes (response .getHttpStatusCode ());
123119 return ;
124- } else {
125- eventEmitter .update (response );
126120 }
127121 throttler .decrementFailureCountAndResetSkips ();
128122 } catch (UnleashException e ) {
@@ -136,14 +130,12 @@ private Runnable runSteadyStateFetch(final Consumer<UnleashException> handler) {
136130 };
137131 }
138132
139- private String applyClientFeatures (ClientFeaturesResponse response )
133+ private void updateFeatures (ClientFeaturesResponse response )
140134 throws YggdrasilInvalidInputException {
141135 String clientFeatures = response .getClientFeatures ().get ();
142136 this .engine .takeState (clientFeatures );
143- String currentState = this .engine .getState ();
144- this .featureBackupHandler .write (currentState );
137+ this .featureBackupHandler .write (clientFeatures );
145138 eventEmitter .ready ();
146- return currentState ;
147139 }
148140
149141 public Integer getFailures () {
0 commit comments