/** * Returns a new instance with emit policy replaced with the given * argument. */ @Nonnull private static <T> EventTimePolicy<T> withFrameSize( EventTimePolicy<T> original, long watermarkThrottlingFrameSize ) { return eventTimePolicy(original.timestampFn(), original.wrapFn(), original.newWmPolicyFn(), watermarkThrottlingFrameSize, 0, original.idleTimeoutMillis()); }
/** * The partition count is initially set to 0, call * {@link #increasePartitionCount} to set it. * * @param eventTimePolicy event time policy as passed in {@link * Sources#streamFromProcessorWithWatermarks} **/ public EventTimeMapper(EventTimePolicy<? super T> eventTimePolicy) { this.idleTimeoutNanos = MILLISECONDS.toNanos(eventTimePolicy.idleTimeoutMillis()); this.timestampFn = eventTimePolicy.timestampFn(); this.wrapFn = eventTimePolicy.wrapFn(); this.newWmPolicyFn = eventTimePolicy.newWmPolicyFn(); if (eventTimePolicy.watermarkThrottlingFrameSize() != 0) { this.watermarkThrottlingFrame = tumblingWinPolicy(eventTimePolicy.watermarkThrottlingFrameSize()) .withOffset(eventTimePolicy.watermarkThrottlingFrameOffset()); } else { this.watermarkThrottlingFrame = null; } }