Search in sources :

Example 1 with DownOperation

use of org.syncany.operations.down.DownOperation in project syncany by syncany.

the class OperationPerformanceTest method testOperationPerformance.

@Test
public void testOperationPerformance() throws Exception {
    // Setup
    TransferSettings testConnection = TestConfigUtil.createTestLocalConnection();
    Config configA = TestConfigUtil.createTestLocalConfig("A", testConnection);
    Config configB = TestConfigUtil.createTestLocalConfig("B", testConnection);
    // Add new files on A and upload it 
    TestFileUtil.createRandomFilesInDirectory(configA.getLocalDir(), 5000 * 1024, 3);
    long timeSyncUpStart = System.currentTimeMillis();
    new UpOperation(configA).execute();
    long timeSyncUpEnd = System.currentTimeMillis();
    long timeSyncUpTotal = timeSyncUpEnd - timeSyncUpStart;
    if (timeSyncUpTotal > 3000) {
        fail("Sync up took: " + timeSyncUpTotal + " ms");
    }
    logger.log(Level.INFO, "Sync up performance: " + timeSyncUpTotal + " ms");
    // Sync down B
    long timeSyncDownStart = System.currentTimeMillis();
    new DownOperation(configB).execute();
    long timeSyncDownEnd = System.currentTimeMillis();
    long timeSyncDownTotal = timeSyncDownEnd - timeSyncDownStart;
    if (timeSyncDownTotal > 3000) {
        fail("Sync down took: " + timeSyncDownTotal + " ms");
    }
    logger.log(Level.INFO, "Sync down performance: " + timeSyncDownTotal + " ms");
    // Cleanup
    TestConfigUtil.deleteTestLocalConfigAndData(configA);
    TestConfigUtil.deleteTestLocalConfigAndData(configB);
}
Also used : UpOperation(org.syncany.operations.up.UpOperation) Config(org.syncany.config.Config) DownOperation(org.syncany.operations.down.DownOperation) TransferSettings(org.syncany.plugins.transfer.TransferSettings) Test(org.junit.Test)

Example 2 with DownOperation

use of org.syncany.operations.down.DownOperation in project syncany by syncany.

the class DownCommand method execute.

@Override
public int execute(String[] operationArgs) throws Exception {
    DownOperationOptions operationOptions = parseOptions(operationArgs);
    DownOperationResult operationResult = new DownOperation(config, operationOptions).execute();
    printResults(operationResult);
    return 0;
}
Also used : DownOperationResult(org.syncany.operations.down.DownOperationResult) DownOperation(org.syncany.operations.down.DownOperation) DownOperationOptions(org.syncany.operations.down.DownOperationOptions)

Example 3 with DownOperation

use of org.syncany.operations.down.DownOperation in project syncany by syncany.

the class WatchOperation method runSync.

/**
	 * Runs one iteration of the main synchronization loop, containing a {@link DownOperation},
	 * an {@link UpOperation} and (if required), a {@link CleanupOperation}.
	 */
private void runSync() throws Exception {
    if (!syncRunning.get()) {
        syncRunning.set(true);
        syncRequested.set(false);
        logger.log(Level.INFO, "RUNNING SYNC ...");
        fireStartEvent();
        try {
            boolean notifyChanges = false;
            // Run down
            DownOperationResult downResult = new DownOperation(config, options.getDownOptions()).execute();
            if (downResult.getResultCode() == DownResultCode.OK_WITH_REMOTE_CHANGES) {
            // TODO [low] Do something?
            }
            // Run up
            UpOperationResult upOperationResult = new UpOperation(config, options.getUpOptions()).execute();
            if (upOperationResult.getResultCode() == UpResultCode.OK_CHANGES_UPLOADED && upOperationResult.getChangeSet().hasChanges()) {
                upCount.incrementAndGet();
                notifyChanges = true;
            }
            CleanupOperationResult cleanupOperationResult = new CleanupOperation(config, options.getCleanupOptions()).execute();
            if (cleanupOperationResult.getResultCode() == CleanupResultCode.OK) {
                notifyChanges = true;
            }
            // Fire change event if up and/or cleanup
            if (notifyChanges) {
                notifyChanges();
            }
        } finally {
            logger.log(Level.INFO, "SYNC DONE.");
            syncRunning.set(false);
            fireEndEvent();
        }
    } else {
        // Can't do a log message here, because this bit is called thousand
        // of times when file system events occur.
        syncRequested.set(true);
    }
}
Also used : UpOperation(org.syncany.operations.up.UpOperation) CleanupOperationResult(org.syncany.operations.cleanup.CleanupOperationResult) DownOperationResult(org.syncany.operations.down.DownOperationResult) DownOperation(org.syncany.operations.down.DownOperation) CleanupOperation(org.syncany.operations.cleanup.CleanupOperation) UpOperationResult(org.syncany.operations.up.UpOperationResult)

Aggregations

DownOperation (org.syncany.operations.down.DownOperation)3 DownOperationResult (org.syncany.operations.down.DownOperationResult)2 UpOperation (org.syncany.operations.up.UpOperation)2 Test (org.junit.Test)1 Config (org.syncany.config.Config)1 CleanupOperation (org.syncany.operations.cleanup.CleanupOperation)1 CleanupOperationResult (org.syncany.operations.cleanup.CleanupOperationResult)1 DownOperationOptions (org.syncany.operations.down.DownOperationOptions)1 UpOperationResult (org.syncany.operations.up.UpOperationResult)1 TransferSettings (org.syncany.plugins.transfer.TransferSettings)1