diff --git a/src/com/stuypulse/stuylib/streams/angles/PollingAStream.java b/src/com/stuypulse/stuylib/streams/angles/PollingAStream.java index feb1e258..cc84187c 100644 --- a/src/com/stuypulse/stuylib/streams/angles/PollingAStream.java +++ b/src/com/stuypulse/stuylib/streams/angles/PollingAStream.java @@ -16,7 +16,7 @@ */ public class PollingAStream implements AStream, AutoCloseable { - private Notifier mPoller; + private final Notifier mPoller; private volatile Angle mResult; /** @@ -31,19 +31,23 @@ public PollingAStream(AStream stream, double dt) { } mResult = Angle.kNull; - mPoller = new Notifier(() -> mResult = stream.get()); + mPoller = new Notifier(() -> this.set(stream.get())); mPoller.startPeriodic(dt); } - public Angle get() { + private final synchronized set(Angle result) { + mResult = result; + } + + public final synchronized Angle get() { return mResult; } - protected void finalize() { + protected final synchronized void finalize() { close(); } - public void close() { + public final synchronized void close() { mPoller.close(); mResult = Angle.kNull; }