2 * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.netvirt.natservice.api;
11 import java.math.BigInteger;
13 public interface CentralizedSwitchScheduler {
16 * Schedule the centralized switch for the router.
17 * @param routerName the router name.
18 * @return success/failure
20 boolean scheduleCentralizedSwitch(String routerName);
23 * Releases the centralized switch scheduled for the router.
24 * @param routerName the router name.
25 * @return success/failure
27 boolean releaseCentralizedSwitch(String routerName);
30 * Retrieves the centralized switch scheduled for the router.
31 * @param routerName the router name.
32 * @return success/failure
34 boolean getCentralizedSwitch(String routerName);
37 * Adds a switch to the scheduler pool.
38 * @param dpnId the switch id.
39 * @return success/failure
41 boolean addSwitch(BigInteger dpnId);
44 * Removes a switch from the scheduler pool.
45 * @param dpnId the switch id.
46 * @return success/failure
48 boolean removeSwitch(BigInteger dpnId);