From 594d89e65ec75ca36acda245e7f768f796c1dd81 Mon Sep 17 00:00:00 2001 From: Rob Ambalu Date: Thu, 28 Mar 2024 16:45:50 -0400 Subject: [PATCH] fixes #172 - bugfix for PushPullInputAdapter when adjust OOO time is used, data could be dropped Signed-off-by: Rob Ambalu --- cpp/csp/engine/PushPullInputAdapter.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cpp/csp/engine/PushPullInputAdapter.cpp b/cpp/csp/engine/PushPullInputAdapter.cpp index f8e0b86a..c61ce976 100644 --- a/cpp/csp/engine/PushPullInputAdapter.cpp +++ b/cpp/csp/engine/PushPullInputAdapter.cpp @@ -62,9 +62,6 @@ bool PushPullInputAdapter::processNextPullEvent() if( consumed && m_nextPullEvent ) { - if( m_adjustOutOfOrderTime ) - m_nextPullEvent->time = std::max( m_nextPullEvent -> time, rootEngine() -> now() ); - m_timerHandle = rootEngine() -> scheduleCallback( m_nextPullEvent->time, [this]() { return processNextPullEvent() ? nullptr : this; } ); } @@ -83,6 +80,10 @@ PushPullInputAdapter::PullDataEvent * PushPullInputAdapter::nextPullEvent() auto * event = m_poppedPullEvents.front(); m_poppedPullEvents.pop(); + + if( m_adjustOutOfOrderTime ) + event -> time = std::max( event -> time, rootEngine() -> now() ); + return event; }