
org.infinispan.xsite.statetransfer.XSiteStateTransferControlCommand Maven / Gradle / Ivy
package org.infinispan.xsite.statetransfer;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Objects;
import java.util.concurrent.CompletableFuture;
import org.infinispan.commons.marshall.MarshallUtil;
import org.infinispan.util.ByteString;
import org.infinispan.util.concurrent.CompletableFutures;
import org.infinispan.xsite.BackupReceiver;
import org.infinispan.xsite.XSiteReplicateCommand;
/**
* Command used to control the state transfer between sites.
*
* @author Pedro Ruivo
* @since 7.0
*/
public class XSiteStateTransferControlCommand extends XSiteReplicateCommand {
public static final int COMMAND_ID = 28;
private StateTransferControl control;
private XSiteStateProvider provider;
private XSiteStateConsumer consumer;
private XSiteStateTransferManager stateTransferManager;
private String siteName;
private boolean statusOk;
private int topologyId;
public XSiteStateTransferControlCommand(ByteString cacheName, StateTransferControl control, String siteName) {
super(cacheName);
this.control = control;
this.siteName = siteName;
}
public XSiteStateTransferControlCommand(ByteString cacheName) {
super(cacheName);
}
public XSiteStateTransferControlCommand() {
super(null);
}
@Override
public Object performInLocalSite(BackupReceiver receiver) throws Throwable {
receiver.handleStateTransferControl(this);
return null;
}
public final void initialize(XSiteStateProvider provider, XSiteStateConsumer consumer,
XSiteStateTransferManager stateTransferManager) {
this.provider = provider;
this.consumer = consumer;
this.stateTransferManager = stateTransferManager;
}
@Override
public CompletableFuture
© 2015 - 2025 Weber Informatics LLC | Privacy Policy