blob: 0fd4524a965e669ea3155765316a2c9e6650a468 [file] [log] [blame]
package net.onrc.onos.core.flowprogrammer;
import java.util.concurrent.Future;
import net.floodlightcontroller.core.IOFSwitch;
import net.floodlightcontroller.core.module.IFloodlightService;
/**
* FlowSyncService is a service to synchronize GraphDB and switch's flow table.
* FlowSyncService offers APIs to trigger and interrupt synchronization explicitly.
*/
public interface IFlowSyncService extends IFloodlightService {
public Future<SyncResult> synchronize(IOFSwitch sw);
public void interrupt(IOFSwitch sw);
public class SyncResult {
public final int flowAdded;
public final int flowRemoved;
public final int flowSkipped;
public SyncResult(int added, int removed, int skipped) {
flowAdded = added;
flowRemoved = removed;
flowSkipped = skipped;
}
}
}