dcapwell commented on code in PR #28:
URL: https://github.com/apache/cassandra-accord/pull/28#discussion_r1100833937


##########
accord-core/src/test/java/accord/impl/basic/DelayedExecutorService.java:
##########
@@ -0,0 +1,107 @@
+package accord.impl.basic;
+
+import accord.burn.random.Decision;
+import accord.burn.random.IntRange;
+import accord.burn.random.RandomInt;
+import accord.burn.random.SegmentedIntRange;
+import org.apache.cassandra.concurrent.FutureTask;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.concurrent.AbstractExecutorService;
+import java.util.concurrent.Callable;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+public class DelayedExecutorService extends AbstractExecutorService
+{
+    private final PendingQueue pending;
+    private final Random random;
+    private final RandomInt jitterInNano;
+
+    public DelayedExecutorService(PendingQueue pending, Random random)
+    {
+        this.pending = pending;
+        this.random = random;
+        this.jitterInNano = new SegmentedIntRange(
+                new IntRange(microToNanos(0), microToNanos(50)),
+                new IntRange(microToNanos(50), msToNanos(5)),
+                // this is different from Apache Cassandra Simulator as this 
is computed differently for each executor

Review Comment:
   Created a new `FrequentLargeRange` which has a simple way to generate "runs" 
and makes sure it stays within the expected range.  This gives us the benefit 
that we can have large runs, that we can have disjoint small/large ranges, and 
that the ratio is respected in real time.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to