813f6f0bcaf24460f909050bac5a179d34848518
[netvirt.git] / vpnservice / natservice / natservice-api / src / main / java / org / opendaylight / netvirt / natservice / api / CentralizedSwitchScheduler.java
1 /*
2  * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.netvirt.natservice.api;
10
11 import java.math.BigInteger;
12
13 public interface CentralizedSwitchScheduler {
14
15     /**
16      * Schedule the centralized switch for the router.
17      * @param routerName the router name.
18      * @return success/failure
19      */
20     boolean scheduleCentralizedSwitch(String routerName);
21
22     /**
23      * Releases the centralized switch scheduled for the router.
24      * @param routerName the router name.
25      * @return success/failure
26      */
27     boolean releaseCentralizedSwitch(String routerName);
28
29     /**
30      * Retrieves the centralized switch scheduled for the router.
31      * @param routerName the router name.
32      * @return success/failure
33      */
34     boolean getCentralizedSwitch(String routerName);
35
36     /**
37      * Adds a switch to the scheduler pool.
38      * @param dpnId the switch id.
39      * @return success/failure
40      */
41     boolean addSwitch(BigInteger dpnId);
42
43     /**
44      * Removes a switch from the scheduler pool.
45      * @param dpnId the switch id.
46      * @return success/failure
47      */
48     boolean removeSwitch(BigInteger dpnId);
49
50 }