@ProcessElement public void process(ProcessContext c, BoundedWindow w) { InputT element = c.element().getKey(); RestrictionT restriction = c.element().getValue(); while (true) { RestrictionTracker<RestrictionT, PositionT> tracker = invoker.invokeNewTracker(restriction); ProcessContinuation continuation = invoker.invokeProcessElement(new NestedProcessContext<>(fn, c, element, w, tracker)); if (continuation.shouldResume()) { restriction = tracker.checkpoint(); Uninterruptibles.sleepUninterruptibly( continuation.resumeDelay().getMillis(), TimeUnit.MILLISECONDS); } else { break; } } }
assertEquals(tracker, invoker.invokeNewTracker(restriction)); assertEquals( resume(),
assertEquals(stop(), invoker.invokeProcessElement(mockArgumentProvider)); assertThat( invoker.invokeNewTracker(new RestrictionWithDefaultTracker()), instanceOf(DefaultTracker.class));
invoker.invokeNewTracker(elementAndRestriction.getValue()); SplittableProcessElementInvoker<InputT, OutputT, RestrictionT, PositionT>.Result result = processElementInvoker.invokeProcessElement(