public interface FlowClassBroker
registration
.
Result of this registration will be a FlowClass
, which will
embody all the provided information in addition to an opaque
logical priority
, issued
as a result of the registration. The actual numeric value this key is
completely meaningless. It is opaque and is secret by virtue of randomness.
It is accessible only to the invoker of the registration method.
The information supplied during the registration process, can be used for
several purposes:
Modifier and Type | Method and Description |
---|---|
FlowClass |
getFlowClass(String id)
Retrieves the currently registered flow class with the specified id.
|
Set<FlowClass> |
getFlowClasses()
Retrieves the set of all currently registered flow classes.
|
FlowClass |
register(String id,
String passwd,
String description,
Set<String> lowerIds,
Set<String> higherIds,
Set<OxmFieldType> matchFields,
Set<FlowClass.ActionClass> actions)
Registers a flow mod class, with a dynamically assigned flow mod
priority, which is required when the controller is operating in a
mode where flow mods are strictly enforced.
|
void |
unregister(FlowClass flowClass,
String passwd)
Cancels flow class registration.
|
FlowClass register(String id, String passwd, String description, Set<String> lowerIds, Set<String> higherIds, Set<OxmFieldType> matchFields, Set<FlowClass.ActionClass> actions)
FlowClass.priority()
} must be used
in lieu of raw priority when submitting flow mods.
The id
should follow a hierarchical namespace (similar
to Java packages) and must share a prefix with an id of an installed
application; otherwise the controller may reject the request.
id
- global flow class id that must share prefix with
application idpasswd
- secret password chosen by the registrant to allow
repeat registrations or unregistrations without the
originally issued flow class descriptordescription
- description of the purpose or intentlowerIds
- optional set of priority ids that should fall below this onehigherIds
- optional set of priority ids that should rise above this onematchFields
- set of field types expected to be set in the matchactions
- type of action, e.g. drop, forward, processIllegalArgumentException
- if unable to register due to conflicts
or if the password given is not correct during repeat registrationvoid unregister(FlowClass flowClass, String passwd)
flowClass
- the record to be canceledpasswd
- optional password that can be used as an override to allow
unregistration using a public flow class recordIllegalArgumentException
- if the the password supplied is not
correctFlowClass getFlowClass(String id)
id
- flow class idNotFoundException
- if a FlowClass with the given id has not been
registeredCopyright © 2015. All Rights Reserved.