public class FFErrorFlowDescriptor extends ErrorFlowDescriptor
Represents a FF Style Error Flow Descriptor construct, as defined in RFC 2205.
If the INTEGRITY object is present, it must immediately follow the common header. The STYLE object followed by the flow descriptor list must occur at the end of the message, and objects within the flow descriptor list must follow the BNF given below. There are no other requirements on transmission order, although the above order is recommended.
The NHOP (i.e., the RSVP_HOP) object contains the IP address of the interface through which the Resv message was sent and the LIH for the logical interface on which the reservation is required.
The appearance of a RESV_CONFIRM object signals a request for a reservation confirmation and carries the IP address of the receiver to which the ResvConf should be sent. Any number of POLICY_DATA objects may appear.
The BNF above defines a flow descriptor list as simply a list of flow descriptors. The following style-dependent rules specify in more detail the composition of a valid flow descriptor list for each of the reservation styles.
Each elementary FF style request is defined by a single (FLOWSPEC, FILTER_SPEC) pair, and multiple such requests may be packed into the flow descriptor list of a single Resv message. A FLOWSPEC object can be omitted if it is identical to the most recent such object that appeared in the list; the first FF flow descriptor must contain a FLOWSPEC.
bytes, length
Constructor and Description |
---|
FFErrorFlowDescriptor()
Constructor to be used when a FF Error Flow Descriptor has been received and it is wanted to decode it
|
FFErrorFlowDescriptor(FlowSpec flowSpec,
FilterSpec filterSpec)
Constructor to be used when a new FF Error Flow Descriptor it wanted to be created and sent
|
Modifier and Type | Method and Description |
---|---|
void |
decode(byte[] bytes,
int offset)
FF Error Flow Descriptor decoding method.
|
void |
encode()
FF Error Flow Descriptor encoding method.
|
FilterSpec |
getFilterSpec() |
FlowSpec |
getFlowSpec() |
void |
setFilterSpec(FilterSpec filterSpec) |
void |
setFlowSpec(FlowSpec flowSpec) |
getBytes, getLength, setBytes, setLength
public FFErrorFlowDescriptor()
public FFErrorFlowDescriptor(FlowSpec flowSpec, FilterSpec filterSpec) throws RSVPProtocolViolationException
flowSpec
- filterSpec
- RSVPProtocolViolationException
- It is thrown when a mandatory field is not presentpublic void encode() throws RSVPProtocolViolationException
encode
in interface RSVPElement
encode
in class ErrorFlowDescriptor
RSVPProtocolViolationException
public void decode(byte[] bytes, int offset) throws RSVPProtocolViolationException
decode
in class ErrorFlowDescriptor
RSVPProtocolViolationException
public FlowSpec getFlowSpec()
public void setFlowSpec(FlowSpec flowSpec)
public FilterSpec getFilterSpec()
public void setFilterSpec(FilterSpec filterSpec)
Copyright © 2016. All rights reserved.