Skip to content

Commit 9fe0fb2

Browse files
committed
Fixed counter class conflict in factory
1 parent f064b94 commit 9fe0fb2

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

splitio/client/factory.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
from splitio.client import util
1313
from splitio.client.listener import ImpressionListenerWrapper
1414
from splitio.engine.impressions import Manager as ImpressionsManager
15+
from splitio.engine.impressions import ImpressionsMode
16+
from splitio.engine.strategies import Counter as ImpressionsCounter
1517
from splitio.engine.strategies.strategy_debug_mode import StrategyDebugMode
1618
from splitio.engine.strategies.strategy_optimized_mode import StrategyOptimizedMode
1719

@@ -316,8 +318,13 @@ def _build_in_memory_factory(api_key, cfg, sdk_url=None, events_url=None, # pyl
316318
'events': InMemoryEventStorage(cfg['eventsQueueSize']),
317319
}
318320

319-
imp_counter = Counter() if cfg['impressionsMode'] == 'OPTIMIZED' else None
320-
imp_strategy = StrategyOptimizedMode(imp_counter) if cfg['impressionsMode'] == 'OPTIMIZED' else StrategyDebugMode()
321+
imp_counter = ImpressionsCounter() if cfg['impressionsMode'] != ImpressionsMode.DEBUG else None
322+
323+
strategies = {
324+
ImpressionsMode.OPTIMIZED : StrategyOptimizedMode(imp_counter),
325+
ImpressionsMode.DEBUG : StrategyDebugMode(),
326+
}
327+
imp_strategy = strategies[cfg['impressionsMode']]
321328

322329
imp_manager = ImpressionsManager(
323330
_wrap_impression_listener(cfg['impressionListener'], sdk_metadata),
@@ -329,7 +336,7 @@ def _build_in_memory_factory(api_key, cfg, sdk_url=None, events_url=None, # pyl
329336
ImpressionSynchronizer(apis['impressions'], storages['impressions'],
330337
cfg['impressionsBulkSize']),
331338
EventSynchronizer(apis['events'], storages['events'], cfg['eventsBulkSize']),
332-
ImpressionsCountSynchronizer(apis['impressions'], imp_counter),
339+
ImpressionsCountSynchronizer(apis['impressions'], imp_manager),
333340
)
334341
imp_count_sync_task = ImpressionsCountSyncTask(synchronizers.impressions_count_sync.synchronize_counters) if cfg['impressionsMode'] == 'OPTIMIZED' else None
335342

0 commit comments

Comments
 (0)