diff --git a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java index 3fc806229..fc8f69daf 100644 --- a/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java +++ b/engine-api/src/main/java/io/nosqlbench/engine/api/activityimpl/OpDispenser.java @@ -2,5 +2,30 @@ package io.nosqlbench.engine.api.activityimpl; import java.util.function.LongFunction; +/** + *

+ *

Synopsis

+ * An OpDispenser is responsible for mapping a cycle number into + * an executable operation. This is where Op Synthesis occurs + * in NoSQLBench -- The process of building executable operations from + * templates.

+ *
+ *

+ *

Concepts

+ * Op Synthesis is the process of building a specific and executable + * operation for some (low level driver) API by combining the + * static and dynamic elements of the operation together. + * In most cases, implementations of OpDispenser will be constructed + * within the logic of an {@link OpMapper} which is responsible for + * determine the type of OpDispenser to use as associated with a specific + * type {@code ()}. + *

+ * + * @param The parameter type of the actual operation which will be used + * to hold all the details for executing an operation, + * generally something that implements {@link Runnable}. + */ public interface OpDispenser extends LongFunction { +@Override + T apply(long value); }