public class SfcOfFlowWriterImpl extends Object implements SfcOfFlowWriterInterface
Constructor and Description |
---|
SfcOfFlowWriterImpl() |
SfcOfFlowWriterImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker theDataBroker) |
Modifier and Type | Method and Description |
---|---|
Set<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId> |
clearSffsIfNoRspExists()
Clear all flows from the SFFs whenever they are not featured in any RSP.
|
void |
deleteFlowSet() |
void |
deleteRspFlows(Long rspId)
Delete all flows created for the given rspId (flows are stored in a
deletion buffer; actual transactional deletion is performed when
deleteFlowSet() is called.
|
void |
deregisterTransactionListener(Object interestedParty) |
void |
flushFlows()
From previous calls to writeFlowToConfig(), flows were stored per table
and per SFF.
|
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder |
getFlowBuilder()
Return the last flow builder Used mainly in Unit Testing.
|
void |
injectTransaction(org.opendaylight.controller.md.sal.binding.api.WriteTransaction theTx) |
void |
purgeFlows()
Purge any unwritten flows not written-deleted yet.
|
void |
registerTransactionListener(Object interestedParty) |
void |
removeFlow(FlowDetails theFlowData) |
void |
removeFlow(String sffNodeName,
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowKey flowKey,
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableKey tableKey) |
boolean |
removeFlows(Collection<FlowDetails> theFlows) |
void |
setDataProvider(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker) |
void |
shutdown()
Shutdown the thread pool.
|
void |
updateTransactionObject()
Update the inner transaction object, and notify all transaction listeners
through the
EventBus . |
void |
writeFlow(FlowDetails theFlowData) |
void |
writeFlow(Long rspId,
String sffNodeName,
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder flow)
Store a flow to be written later.
|
boolean |
writeFlows(Collection<FlowDetails> theFlows) |
void |
writeGroupToDataStore(String sffNodeName,
org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupBuilder gb,
boolean isAdd) |
public SfcOfFlowWriterImpl()
public SfcOfFlowWriterImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker theDataBroker)
public void setDataProvider(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
public void injectTransaction(org.opendaylight.controller.md.sal.binding.api.WriteTransaction theTx)
injectTransaction
in interface SfcOfFlowWriterInterface
public void shutdown() throws ExecutionException, InterruptedException
shutdown
in interface SfcOfFlowWriterInterface
ExecutionException
- thrown when attempting to retrieve the result of an aborted
taskInterruptedException
- thrown when the executor is waiting, sleeping, or occupied,
and it is interruptedpublic void registerTransactionListener(Object interestedParty)
registerTransactionListener
in interface SfcOfFlowWriterInterface
public void deregisterTransactionListener(Object interestedParty)
deregisterTransactionListener
in interface SfcOfFlowWriterInterface
public void writeFlow(Long rspId, String sffNodeName, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder flow)
writeFlow
in interface SfcOfFlowWriterInterface
sffNodeName
- - which SFF to write the flow toflow
- - details of the flow to be writtenpublic void writeFlow(FlowDetails theFlowData)
writeFlow
in interface SfcOfFlowWriterInterface
public boolean writeFlows(Collection<FlowDetails> theFlows)
writeFlows
in interface SfcOfFlowWriterInterface
public void removeFlow(String sffNodeName, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowKey flowKey, org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.TableKey tableKey)
removeFlow
in interface SfcOfFlowWriterInterface
public void removeFlow(FlowDetails theFlowData)
removeFlow
in interface SfcOfFlowWriterInterface
public boolean removeFlows(Collection<FlowDetails> theFlows)
removeFlows
in interface SfcOfFlowWriterInterface
public void flushFlows()
flushFlows
in interface SfcOfFlowWriterInterface
public void purgeFlows()
purgeFlows
in interface SfcOfFlowWriterInterface
public void writeGroupToDataStore(String sffNodeName, org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupBuilder gb, boolean isAdd)
writeGroupToDataStore
in interface SfcOfFlowWriterInterface
public org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder getFlowBuilder()
getFlowBuilder
in interface SfcOfFlowWriterInterface
public void deleteRspFlows(Long rspId)
deleteRspFlows
in interface SfcOfFlowWriterInterface
rspId
- - the rspId to delete flows forpublic void deleteFlowSet()
deleteFlowSet
in interface SfcOfFlowWriterInterface
public Set<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId> clearSffsIfNoRspExists()
clearSffsIfNoRspExists
in interface SfcOfFlowWriterInterface
public void updateTransactionObject()
EventBus
.updateTransactionObject
in interface SfcOfFlowWriterInterface
Copyright © 2017 OpenDaylight. All rights reserved.