Module io.github.bucket4j.core
Class MultiCommand
- java.lang.Object
-
- io.github.bucket4j.distributed.remote.commands.MultiCommand
-
- All Implemented Interfaces:
RemoteCommand<MultiResult>,ComparableByContent<MultiCommand>
public class MultiCommand extends Object implements RemoteCommand<MultiResult>, ComparableByContent<MultiCommand>
-
-
Field Summary
Fields Modifier and Type Field Description static SerializationHandle<MultiCommand>SERIALIZATION_HANDLE
-
Constructor Summary
Constructors Constructor Description MultiCommand(List<RemoteCommand<?>> commands)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequalsByContent(MultiCommand other)longestimateTokensToConsume()CommandResult<MultiResult>execute(MutableBucketEntry mutableEntry, long currentTimeNanos)List<RemoteCommand<?>>getCommands()longgetConsumedTokens(MultiResult multiResult)SerializationHandlegetSerializationHandle()booleanisImmediateSyncRequired(long unsynchronizedTokens, long nanosSinceLastSync)booleanisInitializationCommand()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.github.bucket4j.distributed.remote.RemoteCommand
asVerbose
-
-
-
-
Field Detail
-
SERIALIZATION_HANDLE
public static SerializationHandle<MultiCommand> SERIALIZATION_HANDLE
-
-
Constructor Detail
-
MultiCommand
public MultiCommand(List<RemoteCommand<?>> commands)
-
-
Method Detail
-
execute
public CommandResult<MultiResult> execute(MutableBucketEntry mutableEntry, long currentTimeNanos)
- Specified by:
executein interfaceRemoteCommand<MultiResult>
-
isInitializationCommand
public boolean isInitializationCommand()
- Specified by:
isInitializationCommandin interfaceRemoteCommand<MultiResult>
-
getCommands
public List<RemoteCommand<?>> getCommands()
-
getSerializationHandle
public SerializationHandle getSerializationHandle()
- Specified by:
getSerializationHandlein interfaceRemoteCommand<MultiResult>
-
equalsByContent
public boolean equalsByContent(MultiCommand other)
- Specified by:
equalsByContentin interfaceComparableByContent<MultiCommand>
-
isImmediateSyncRequired
public boolean isImmediateSyncRequired(long unsynchronizedTokens, long nanosSinceLastSync)- Specified by:
isImmediateSyncRequiredin interfaceRemoteCommand<MultiResult>
-
estimateTokensToConsume
public long estimateTokensToConsume()
- Specified by:
estimateTokensToConsumein interfaceRemoteCommand<MultiResult>
-
getConsumedTokens
public long getConsumedTokens(MultiResult multiResult)
- Specified by:
getConsumedTokensin interfaceRemoteCommand<MultiResult>
-
-