public final class FlowCondManager extends MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange> implements VTNSubSystem, VtnFlowConditionService
| Constructor and Description |
|---|
FlowCondManager(VTNManagerProvider provider)
Construct a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
Future<org.opendaylight.yangtools.yang.common.RpcResult<ClearFlowConditionOutput>> |
clearFlowCondition()
Remove all the flow conditions.
|
protected org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange |
enterEvent()
Invoked when
AbstractDataChangeListener.onDataTreeChanged(Collection) has just been
called. |
protected void |
exitEvent(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx)
Invoked when
AbstractDataChangeListener.onDataTreeChanged(Collection) is going to leave. |
protected org.slf4j.Logger |
getLogger()
Return a logger instance.
|
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VtnFlowCondition> |
getWildcardPath()
Return a wildcard instance identifier that specifies data objects
to be listened.
|
VTNFuture<?> |
initConfig(boolean master)
Post a MD-SAL datastore transaction task that initializes the
configuration.
|
void |
initRpcServices(org.opendaylight.controller.sal.binding.api.RpcProviderRegistry rpcReg,
CompositeAutoCloseable regs)
Register RPC implementation required by the subsystem.
|
protected boolean |
isDepth(VtnUpdateType type)
Return a boolean value which specifies the order of tree traversal.
|
protected boolean |
isLeafNode(Class<?> type)
Determine whether the specified type of the tree node should be
treated as a leaf node.
|
protected boolean |
isRequiredType(Class<?> type)
Determine whether the specified type of the tree node is required
to be notified or not.
|
protected boolean |
isUpdated(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
ChangedData<?> data)
Determine whether the specified data was updated or not.
|
protected void |
onCreated(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
IdentifiedData<?> data)
Invoked when a new data has been created in the datastore.
|
protected void |
onRemoved(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
IdentifiedData<?> data)
Invoked when a data has been removed from the datastore.
|
protected void |
onUpdated(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
ChangedData<?> data)
Invoked when a data in the datastore has been updated.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<Void>> |
removeFlowCondition(RemoveFlowConditionInput input)
Remove the flow condition specified by the name.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<RemoveFlowConditionMatchOutput>> |
removeFlowConditionMatch(RemoveFlowConditionMatchInput input)
Remove the flow match condition specified by the flow condition name
and match index.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<SetFlowConditionOutput>> |
setFlowCondition(SetFlowConditionInput input)
Create or modify the flow condition.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<SetFlowConditionMatchOutput>> |
setFlowConditionMatch(SetFlowConditionMatchInput input)
Configure a flow match condition into the flow condition specified
by the flow condition name and match index.
|
handleTreecheckPath, getTargetType, isRequiredEvent, nullValue, onDataTreeChanged, registerListeneraddCloseable, closeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclosepublic FlowCondManager(VTNManagerProvider provider)
provider - VTN Manager provider service.protected boolean isDepth(VtnUpdateType type)
isDepth in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>type - A VtnUpdateType instance which specifies the type
of event.true means that each tree node's children need to be
processed after the tree node itself (from outer to innter).
false means that each tree node's children need to be
processed before the tree node itself (from inner to outer).protected boolean isRequiredType(@Nonnull Class<?> type)
isRequiredType in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>type - A class that specifies the type of the tree node.true if the specified type of the tree node needs
to be notified. false otherwise.protected boolean isLeafNode(@Nonnull Class<?> type)
This method returns true only if the specified type is
VtnFlowMatch.
isLeafNode in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>type - A class that specifies the type of the tree node.true if the specified type of the tree node should
be treated as a leaf node. false otherwise.protected boolean isUpdated(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
ChangedData<?> data)
MultiDataStoreListener.onUpdated(Object, ChangedData) is called only if this method
returns true.
This method is called only if MultiDataStoreListener.isRequiredType(Class) with
specifying type returns true.
isUpdated in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>ectx - An event context created by this instance.data - A ChangedData instance which contains the
changed data.true if the target data was updated.
false otherwise.protected void onCreated(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
IdentifiedData<?> data)
onCreated in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>ectx - An event context created by this instance.data - An IdentifiedData instance which contains the
created data.protected void onUpdated(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
ChangedData<?> data)
onUpdated in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>ectx - An event context created by this instance.data - A ChangedData instance which contains the
changed data.protected void onRemoved(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx,
IdentifiedData<?> data)
onRemoved in class MultiDataStoreListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>ectx - An event context created by this instance.data - An IdentifiedData instance which contains the
removed data.protected org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange enterEvent()
AbstractDataChangeListener.onDataTreeChanged(Collection) has just been
called.enterEvent in class AbstractDataChangeListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>protected void exitEvent(org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange ectx)
AbstractDataChangeListener.onDataTreeChanged(Collection) is going to leave.
Note that this method may be called even if no modified data was notified.
exitEvent in class AbstractDataChangeListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>ectx - An event context created by AbstractDataChangeListener.enterEvent().protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VtnFlowCondition> getWildcardPath()
getWildcardPath in class AbstractDataChangeListener<VtnFlowCondition,org.opendaylight.vtn.manager.internal.flow.cond.FlowCondChange>protected org.slf4j.Logger getLogger()
Note that this method will be called before the constructor returns.
getLogger in class CloseableContainerLogger instance.public VTNFuture<?> initConfig(boolean master)
initConfig in interface VTNSubSystemmaster - true if the local node is the configuration
provider.VTNFuture instance associated with the task for
initialization. null means that there is nothing to
do on initialization.public void initRpcServices(org.opendaylight.controller.sal.binding.api.RpcProviderRegistry rpcReg,
CompositeAutoCloseable regs)
initRpcServices in interface VTNSubSystemrpcReg - A RpcProviderRegistry service instance.regs - A CompositeAutoCloseable instance to store
RPC registration.public Future<org.opendaylight.yangtools.yang.common.RpcResult<SetFlowConditionOutput>> setFlowCondition(SetFlowConditionInput input)
setFlowCondition in interface VtnFlowConditionServiceinput - Input of the RPC.Future associated with the RPC task.public Future<org.opendaylight.yangtools.yang.common.RpcResult<Void>> removeFlowCondition(RemoveFlowConditionInput input)
removeFlowCondition in interface VtnFlowConditionServiceinput - Input of the RPC.Future associated with the RPC task.public Future<org.opendaylight.yangtools.yang.common.RpcResult<SetFlowConditionMatchOutput>> setFlowConditionMatch(SetFlowConditionMatchInput input)
setFlowConditionMatch in interface VtnFlowConditionServiceinput - Input of the RPC.Future associated with the RPC task.public Future<org.opendaylight.yangtools.yang.common.RpcResult<RemoveFlowConditionMatchOutput>> removeFlowConditionMatch(RemoveFlowConditionMatchInput input)
removeFlowConditionMatch in interface VtnFlowConditionServiceinput - Input of the RPC.Future associated with the RPC task.public Future<org.opendaylight.yangtools.yang.common.RpcResult<ClearFlowConditionOutput>> clearFlowCondition()
clearFlowCondition in interface VtnFlowConditionServiceFuture associated with the RPC task.Copyright © 2018 OpenDaylight. All rights reserved.