Package org.infinispan.commands.triangle
Class BackupWriteCommand
java.lang.Object
org.infinispan.commands.remote.BaseRpcCommand
org.infinispan.commands.triangle.BackupWriteCommand
- All Implemented Interfaces:
CacheRpcCommand
,ReplicableCommand
- Direct Known Subclasses:
BackupNoopCommand
,MultiEntriesFunctionalBackupWriteCommand
,MultiKeyFunctionalBackupWriteCommand
,PutMapBackupWriteCommand
,SingleKeyBackupWriteCommand
,SingleKeyFunctionalBackupWriteCommand
A write operation sent from the primary owner to the backup owners.
This is a base command with the CommandInvocationId
, topology and flags.
Since the primary → backup operations are ordered by segment, it contains the segment to be updated and its sequence number.
- Since:
- 9.2
- Author:
- Pedro Ruivo
-
Field Summary
FieldsFields inherited from class org.infinispan.commands.remote.BaseRpcCommand
cacheName, origin
-
Method Summary
Modifier and TypeMethodDescriptionfinal boolean
canBlock()
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.final CommandInvocationId
final long
getFlags()
final int
final long
final int
final CompletionStage<?>
invokeAsync
(ComponentRegistry componentRegistry) Invoke the command asynchronously.final boolean
If true, a return value will be provided when performed remotely.final void
setSegmentId
(int segmentId) final void
setSequence
(long sequence) Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.infinispan.commands.ReplicableCommand
getCommandId, invoke, invokeAsync, isSuccessful, logThrowable, readFrom, writeTo
-
Field Details
-
segmentId
protected int segmentId
-
-
Method Details
-
invokeAsync
Description copied from interface:CacheRpcCommand
Invoke the command asynchronously.This method replaces
ReplicableCommand.invoke()
for remote execution. The default implementation andReplicableCommand.invoke()
will be removed in future versions. -
isReturnValueExpected
public final boolean isReturnValueExpected()Description copied from interface:ReplicableCommand
If true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGenerator
may choose to simply return null to save on marshalling costs.- Returns:
- true or false
-
canBlock
public final boolean canBlock()Description copied from interface:ReplicableCommand
If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool. Otherwise, the command is processed directly in the JGroups thread. This feature allows to avoid keep a JGroups thread busy that can originate discard of messages and retransmissions. So, the commands that can block (waiting for some state, acquiring locks, etc.) should return true.- Returns:
true
if the command can block/wait,false
otherwise
-
getSequence
public final long getSequence() -
setSequence
public final void setSequence(long sequence) -
getCommandInvocationId
-
getTopologyId
public final int getTopologyId() -
getFlags
public final long getFlags() -
getSegmentId
public final int getSegmentId() -
setSegmentId
public final void setSegmentId(int segmentId)
-