public interface VirtualNetworkFlowRuleStore extends VirtualStore<FlowRuleBatchEvent,FlowRuleStoreDelegate>
Modifier and Type | Method and Description |
---|---|
FlowRuleEvent |
addOrUpdateFlowRule(NetworkId networkId,
FlowEntry rule)
Stores a new flow rule, or updates an existing entry.
|
void |
batchOperationComplete(NetworkId networkId,
FlowRuleBatchEvent event)
Invoked on the completion of a storeBatch operation.
|
void |
deleteFlowRule(NetworkId networkId,
FlowRule rule)
Marks a flow rule for deletion.
|
java.lang.Iterable<FlowEntry> |
getFlowEntries(NetworkId networkId,
DeviceId deviceId)
Returns the flow entries associated with a device.
|
FlowEntry |
getFlowEntry(NetworkId networkId,
FlowRule rule)
Returns the stored flow.
|
int |
getFlowRuleCount(NetworkId networkId)
Returns the number of flow rule in the store.
|
java.lang.Iterable<TableStatisticsEntry> |
getTableStatistics(NetworkId networkId,
DeviceId deviceId)
Returns the flow table statistics associated with a device.
|
FlowRuleEvent |
pendingFlowRule(NetworkId networkId,
FlowEntry rule)
Marks a flow rule as PENDING_ADD during retry.
|
default void |
purgeFlowRule(NetworkId networkId,
DeviceId deviceId)
Removes all flow entries of given device from store.
|
void |
purgeFlowRules(NetworkId networkId)
Removes all flow entries from store.
|
FlowRuleEvent |
removeFlowRule(NetworkId networkId,
FlowEntry rule)
Removes an existing flow entry.
|
void |
storeBatch(NetworkId networkId,
FlowRuleBatchOperation batchOperation)
Stores a batch of flow rules.
|
FlowRuleEvent |
updateTableStatistics(NetworkId networkId,
DeviceId deviceId,
java.util.List<TableStatisticsEntry> tableStats)
Updates the flow table statistics of the specified device using
the given statistics.
|
hasDelegate, setDelegate, unsetDelegate
int getFlowRuleCount(NetworkId networkId)
networkId
- virtual network identifierFlowEntry getFlowEntry(NetworkId networkId, FlowRule rule)
networkId
- virtual network identifierrule
- the rule to look forjava.lang.Iterable<FlowEntry> getFlowEntries(NetworkId networkId, DeviceId deviceId)
networkId
- virtual network identifierdeviceId
- the device IDvoid storeBatch(NetworkId networkId, FlowRuleBatchOperation batchOperation)
networkId
- virtual network identifierbatchOperation
- batch of flow rules.
A batch can contain flow rules for a single device only.void batchOperationComplete(NetworkId networkId, FlowRuleBatchEvent event)
networkId
- virtual network identifierevent
- flow rule batch eventvoid deleteFlowRule(NetworkId networkId, FlowRule rule)
networkId
- virtual network identifierrule
- the flow rule to deleteFlowRuleEvent addOrUpdateFlowRule(NetworkId networkId, FlowEntry rule)
networkId
- virtual network identifierrule
- the flow rule to add or updateFlowRuleEvent removeFlowRule(NetworkId networkId, FlowEntry rule)
rule
- the flow entry to removenetworkId
- virtual network identifierFlowRuleEvent pendingFlowRule(NetworkId networkId, FlowEntry rule)
networkId
- virtual network identifierrule
- the flow rule that is retryingdefault void purgeFlowRule(NetworkId networkId, DeviceId deviceId)
networkId
- virtual network identifierdeviceId
- device idvoid purgeFlowRules(NetworkId networkId)
networkId
- virtual network identifierFlowRuleEvent updateTableStatistics(NetworkId networkId, DeviceId deviceId, java.util.List<TableStatisticsEntry> tableStats)
networkId
- virtual network identifierdeviceId
- device identifiertableStats
- list of table statisticsjava.lang.Iterable<TableStatisticsEntry> getTableStatistics(NetworkId networkId, DeviceId deviceId)
networkId
- virtual network identifierdeviceId
- the device ID