diff options
Diffstat (limited to 'framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier')
6 files changed, 0 insertions, 384 deletions
diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java deleted file mode 100644 index d81ab48a..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierEvent.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 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.vtnrsc.flowclassifier; - -import org.onosproject.event.AbstractEvent; -import org.onosproject.vtnrsc.FlowClassifier; - -/** - * Describes network Flow-Classifier event. - */ -public class FlowClassifierEvent extends AbstractEvent<FlowClassifierEvent.Type, FlowClassifier> { - /** - * Type of flow-classifier events. - */ - public enum Type { - /** - * Signifies that flow-classifier has been created. - */ - FLOW_CLASSIFIER_PUT, - /** - * Signifies that flow-classifier has been deleted. - */ - FLOW_CLASSIFIER_DELETE, - /** - * Signifies that flow-classifier has been updated. - */ - FLOW_CLASSIFIER_UPDATE - } - - /** - * Creates an event of a given type and for the specified Flow-Classifier. - * - * @param type Flow-Classifier event type - * @param flowClassifier Flow-Classifier subject - */ - public FlowClassifierEvent(Type type, FlowClassifier flowClassifier) { - super(type, flowClassifier); - } - - /** - * Creates an event of a given type and for the specified Flow-Classifier. - * - * @param type Flow-Classifier event type - * @param flowClassifier Flow-Classifier subject - * @param time occurrence time - */ - public FlowClassifierEvent(Type type, FlowClassifier flowClassifier, long time) { - super(type, flowClassifier, time); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java deleted file mode 100644 index 3c0409ad..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierListener.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 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.vtnrsc.flowclassifier; - -import org.onosproject.event.EventListener; - -/** - * Entity capable of Flow-Classifier related events. - */ -public interface FlowClassifierListener extends EventListener<FlowClassifierEvent> { - -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java deleted file mode 100644 index e3cbf9ac..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/FlowClassifierService.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 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.vtnrsc.flowclassifier; - -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.FlowClassifierId; - -/** - * Provides Services for Flow Classifier. - */ -public interface FlowClassifierService { - - /** - * Check whether Flow Classifier is present based on given Flow Classifier - * Id. - * - * @param id flow classifier identifier - * @return true if flow classifier is present otherwise return false - */ - boolean exists(FlowClassifierId id); - - /** - * Returns the number of flow classifiers known to the system. - * - * @return number of flow classifiers - */ - int getFlowClassifierCount(); - - /** - * Store Flow Classifier. - * - * @param flowClassifier flow classifier - * @return true if adding flow classifier into store is success otherwise - * return false - */ - boolean createFlowClassifier(FlowClassifier flowClassifier); - - /** - * Return the existing collection of Flow Classifier. - * - * @return flow classifier collections - */ - Iterable<FlowClassifier> getFlowClassifiers(); - - /** - * Retrieve the Flow Classifier based on given Flow Classifier id. - * - * @param id flow classifier identifier - * @return flow classifier if present otherwise returns null - */ - FlowClassifier getFlowClassifier(FlowClassifierId id); - - /** - * Update Flow Classifier based on given Flow Classifier Id. - * - * @param flowClassifier flow classifier - * @return true if flow classifier update is success otherwise return false - */ - boolean updateFlowClassifier(FlowClassifier flowClassifier); - - /** - * Remove Flow Classifier from store based on given Flow Classifier Id. - * - * @param id flow classifier identifier - * @return true if flow classifier removal is success otherwise return - * false - */ - boolean removeFlowClassifier(FlowClassifierId id); - - /** - * Adds the specified listener to Flow-Classifier manager. - * - * @param listener Flow-Classifier listener - */ - void addListener(FlowClassifierListener listener); - - /** - * Removes the specified listener to Flow-Classifier manager. - * - * @param listener Flow-Classifier listener - */ - void removeListener(FlowClassifierListener listener); -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java deleted file mode 100644 index b29dc7a3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/FlowClassifierManager.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright 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.vtnrsc.flowclassifier.impl; - -import static org.slf4j.LoggerFactory.getLogger; -import static com.google.common.base.Preconditions.checkNotNull; - -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Reference; -import org.apache.felix.scr.annotations.ReferenceCardinality; -import org.apache.felix.scr.annotations.Service; -import org.onlab.util.KryoNamespace; -import org.onosproject.store.serializers.KryoNamespaces; -import org.onosproject.store.service.EventuallyConsistentMap; -import org.onosproject.store.service.MultiValuedTimestamp; -import org.onosproject.store.service.StorageService; -import org.onosproject.store.service.WallClockTimestamp; -import org.onosproject.vtnrsc.FlowClassifierId; -import org.onosproject.vtnrsc.FlowClassifier; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierListener; -import org.onosproject.vtnrsc.flowclassifier.FlowClassifierService; -import org.slf4j.Logger; - -import java.util.Set; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; - -/** - * Provides implementation of the Flow Classifier Service. - */ -@Component(immediate = true) -@Service -public class FlowClassifierManager implements FlowClassifierService { - - private static final String FLOW_CLASSIFIER_NOT_NULL = "Flow Classifier cannot be null"; - private static final String FLOW_CLASSIFIER_ID_NOT_NULL = "Flow Classifier Id cannot be null"; - private static final String LISTENER_NOT_NULL = "Listener cannot be null"; - - private final Logger log = getLogger(FlowClassifierManager.class); - private final Set<FlowClassifierListener> listeners = Sets.newCopyOnWriteArraySet(); - private EventuallyConsistentMap<FlowClassifierId, FlowClassifier> flowClassifierStore; - - @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) - protected StorageService storageService; - - @Activate - protected void activate() { - KryoNamespace.Builder serializer = KryoNamespace.newBuilder() - .register(KryoNamespaces.API) - .register(MultiValuedTimestamp.class) - .register(FlowClassifier.class); - flowClassifierStore = storageService - .<FlowClassifierId, FlowClassifier>eventuallyConsistentMapBuilder() - .withName("flowclassifierstore").withSerializer(serializer) - .withTimestampProvider((k, v) -> new WallClockTimestamp()).build(); - log.info("Flow Classifier service activated"); - } - - @Deactivate - protected void deactivate() { - flowClassifierStore.destroy(); - listeners.clear(); - log.info("Flow Classifier service deactivated"); - } - - @Override - public boolean exists(FlowClassifierId id) { - checkNotNull(id, FLOW_CLASSIFIER_ID_NOT_NULL); - return flowClassifierStore.containsKey(id); - } - - @Override - public int getFlowClassifierCount() { - return flowClassifierStore.size(); - } - - @Override - public Iterable<FlowClassifier> getFlowClassifiers() { - return ImmutableList.copyOf(flowClassifierStore.values()); - } - - @Override - public FlowClassifier getFlowClassifier(FlowClassifierId id) { - checkNotNull(id, FLOW_CLASSIFIER_ID_NOT_NULL); - return flowClassifierStore.get(id); - } - - @Override - public boolean createFlowClassifier(FlowClassifier flowClassifier) { - log.debug("createFlowClassifier"); - checkNotNull(flowClassifier, FLOW_CLASSIFIER_NOT_NULL); - FlowClassifierId id = flowClassifier.flowClassifierId(); - - flowClassifierStore.put(id, flowClassifier); - if (!flowClassifierStore.containsKey(id)) { - log.debug("Flow Classifier creation is failed whose identifier is {}.", id.toString()); - return false; - } - return true; - } - - @Override - public boolean updateFlowClassifier(FlowClassifier flowClassifier) { - checkNotNull(flowClassifier, FLOW_CLASSIFIER_NOT_NULL); - - if (!flowClassifierStore.containsKey(flowClassifier.flowClassifierId())) { - log.debug("The flowClassifier is not exist whose identifier was {} ", flowClassifier.flowClassifierId() - .toString()); - return false; - } - - flowClassifierStore.put(flowClassifier.flowClassifierId(), flowClassifier); - - if (!flowClassifier.equals(flowClassifierStore.get(flowClassifier.flowClassifierId()))) { - log.debug("Updation of flowClassifier is failed whose identifier was {} ", flowClassifier - .flowClassifierId().toString()); - return false; - } - return true; - } - - @Override - public boolean removeFlowClassifier(FlowClassifierId id) { - checkNotNull(id, FLOW_CLASSIFIER_ID_NOT_NULL); - flowClassifierStore.remove(id); - if (flowClassifierStore.containsKey(id)) { - log.debug("The Flow Classifier removal is failed whose identifier is {}", id.toString()); - return false; - } - return true; - } - - @Override - public void addListener(FlowClassifierListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.add(listener); - } - - @Override - public void removeListener(FlowClassifierListener listener) { - checkNotNull(listener, LISTENER_NOT_NULL); - listeners.remove(listener); - } -} diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java deleted file mode 100644 index 62b5603d..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 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. - */ - -/** - * Provides implementation of the flow Classifier service. - */ -package org.onosproject.vtnrsc.flowclassifier.impl; diff --git a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java b/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java deleted file mode 100644 index c8c75bf3..00000000 --- a/framework/src/onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/flowclassifier/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 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. - */ - -/** - * Service for interacting with flow Classifier of SFC. - */ -package org.onosproject.vtnrsc.flowclassifier; |