package com.ldbc.driver.temporal; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; public class ManualTimeSource implements TimeSource { private final TemporalUtil temporalUtil = new TemporalUtil(); private AtomicLong nowAsMilli = new AtomicLong(0); public ManualTimeSource(long nowAsMilli) { this.nowAsMilli = new AtomicLong(nowAsMilli); } public void setNowFromMilli(long ms) { nowAsMilli.set(ms); } @Override public long nanoSnapshot() { return TimeUnit.MILLISECONDS.toNanos(nowAsMilli()); } @Override public long nowAsMilli() { return nowAsMilli.get(); } }