diff options
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java')
-rw-r--r-- | framework/src/onos/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java b/framework/src/onos/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java deleted file mode 100644 index 81c2d8b6..00000000 --- a/framework/src/onos/core/api/src/main/java/org/onosproject/mastership/MastershipStore.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright 2014-2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.mastership; - -import java.util.Set; -import java.util.concurrent.CompletableFuture; - -import org.onosproject.cluster.NodeId; -import org.onosproject.cluster.RoleInfo; -import org.onosproject.net.DeviceId; -import org.onosproject.net.MastershipRole; -import org.onosproject.store.Store; - -/** - * Manages inventory of mastership roles for devices, across controller - * instances; not intended for direct use. - */ -public interface MastershipStore extends Store<MastershipEvent, MastershipStoreDelegate> { - - // three things to map: NodeId, DeviceId, MastershipRole - - /** - * Requests role of the local node for the specified device. - * - * @param deviceId device identifier - * @return established or newly negotiated mastership role - */ - CompletableFuture<MastershipRole> requestRole(DeviceId deviceId); - - /** - * Returns the role of a device for a specific controller instance. - * - * @param nodeId the instance identifier - * @param deviceId the device identifiers - * @return the role - */ - MastershipRole getRole(NodeId nodeId, DeviceId deviceId); - - /** - * Returns the master for a device. - * - * @param deviceId the device identifier - * @return the instance identifier of the master - */ - NodeId getMaster(DeviceId deviceId); - - /** - * Returns the master and backup nodes for a device. - * - * @param deviceId the device identifier - * @return a RoleInfo containing controller IDs - */ - RoleInfo getNodes(DeviceId deviceId); - - /** - * Returns the devices that a controller instance is master of. - * - * @param nodeId the instance identifier - * @return a set of device identifiers - */ - Set<DeviceId> getDevices(NodeId nodeId); - - - /** - * Sets a device's role for a specified controller instance. - * - * @param nodeId controller instance identifier - * @param deviceId device identifier - * @return a mastership event - */ - CompletableFuture<MastershipEvent> setMaster(NodeId nodeId, DeviceId deviceId); - - /** - * Returns the current master and number of past mastership hand-offs - * (terms) for a device. - * - * @param deviceId the device identifier - * @return the current master's ID and the term value for device, or null - */ - MastershipTerm getTermFor(DeviceId deviceId); - - /** - * Sets a controller instance's mastership role to STANDBY for a device. - * If the role is MASTER, another controller instance will be selected - * as a candidate master. - * - * @param nodeId the controller instance identifier - * @param deviceId device to revoke mastership role for - * @return a mastership event - */ - CompletableFuture<MastershipEvent> setStandby(NodeId nodeId, DeviceId deviceId); - - /** - * Allows a controller instance to give up its current role for a device. - * If the role is MASTER, another controller instance will be selected - * as a candidate master. - * - * @param nodeId the controller instance identifier - * @param deviceId device to revoke mastership role for - * @return a mastership event - */ - CompletableFuture<MastershipEvent> relinquishRole(NodeId nodeId, DeviceId deviceId); - - /** - * Removes all the roles for the specified controller instance. - * If the role was MASTER, another controller instance will be selected - * as a candidate master. - * - * @param nodeId the controller instance identifier - */ - void relinquishAllRole(NodeId nodeId); -} |