diff --git a/src/main/java/com/threerings/presents/dobj/IntervalFactory.java b/src/main/java/com/threerings/presents/dobj/IntervalFactory.java new file mode 100644 index 000000000..6c163291a --- /dev/null +++ b/src/main/java/com/threerings/presents/dobj/IntervalFactory.java @@ -0,0 +1,16 @@ +package com.threerings.presents.dobj; + +import com.samskivert.util.Interval; + +public interface IntervalFactory +{ + /** + * Creates an {@link Interval} that runs the supplied runnable. + * + *
+ * _factory.newInterval(someRunnable).schedule(500); // one shot + * Interval ival = _factory.newInterval(someRunnable).schedule(500, true); // repeater + *+ */ + Interval newInterval (Runnable action); +} diff --git a/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java b/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java index 7279f4c36..76be3d575 100644 --- a/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java +++ b/src/main/java/com/threerings/presents/dobj/RootDObjectManager.java @@ -32,7 +32,7 @@ import com.samskivert.util.RunQueue; * distributed objects in question. VMs that operate proxies of objects can only implement the * basic distributed object manager interface. */ -public interface RootDObjectManager extends DObjectManager, RunQueue, Executor +public interface RootDObjectManager extends DObjectManager, RunQueue, Executor, IntervalFactory { /** * Looks up and returns the requested distributed object in the dobj table, returning null if