blob: da0bd3e19d10407f3dadf6fe46e9143309f2b3a7 [file] [log] [blame]
/*
* Copyright (c) 2010-2012, 2015 Eike Stepper (Berlin, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.emf.cdo.server;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.session.CDOSessionConfigurationFactory;
import org.eclipse.net4j.util.container.IContainer;
/**
* Synchronizes a {@link ISynchronizableRepository synchronizable repository} with a master repository.
*
* @author Eike Stepper
* @since 3.0
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients.
* @apiviz.landmark
* @apiviz.has {@link org.eclipse.emf.cdo.session.CDOSessionConfigurationFactory} oneway - - remote
*/
public interface IRepositorySynchronizer extends IContainer<CDOSession>
{
/**
* @since 4.4
*/
public static final int DEFAULT_RETRY_INTERVAL = 3;
/**
* @since 4.4
*/
public static final int DEFAULT_MAX_RECOMMITS = 10;
/**
* @since 4.4
*/
public static final int DEFAULT_RECOMMIT_INTERVAL = 1;
public int getRetryInterval();
public void setRetryInterval(int retryInterval);
public ISynchronizableRepository getLocalRepository();
public CDOSessionConfigurationFactory getRemoteSessionConfigurationFactory();
public CDOSession getRemoteSession();
public boolean isRawReplication();
/**
* @since 4.0
*/
public void setRawReplication(boolean rawReplication);
public int getMaxRecommits();
public void setMaxRecommits(int maxRecommits);
public int getRecommitInterval();
public void setRecommitInterval(int recommitInterval);
}