- java.lang.Object
- 
- jdk.net.SocketFlow
 
- 
 public class SocketFlow extends Object Represents the service level properties for the platform specific socket optionExtendedSocketOptions.SO_FLOW_SLA.The priority and bandwidth parameters must be set before setting the socket option. When the SO_FLOW_SLAoption is set then it may not take effect immediately. If the value of the socket option is obtained withgetOption()then the status may be returned asINPROGRESSuntil it takes effect. The priority and bandwidth values are only valid when the status is returned as OK.When a security manager is installed, a NetworkPermissionis required to set or get this option.- Since:
- 1.8
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classSocketFlow.StatusEnumeration of the return values from the SO_FLOW_SLA socket option.
 - 
Field SummaryFields Modifier and Type Field Description static intHIGH_PRIORITYstatic intNORMAL_PRIORITYstatic intUNSET
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longbandwidth()Returns this SocketFlow's bandwidth.SocketFlowbandwidth(long bandwidth)Sets this SocketFlow's bandwidth.static SocketFlowcreate()Creates a new SocketFlow that can be used to set the SO_FLOW_SLA socket option and create a socket flow.intpriority()Returns this SocketFlow's priority.SocketFlowpriority(int priority)Sets this SocketFlow's priority.SocketFlow.Statusstatus()Returns the Status value of this SocketFlow.
 
- 
- 
- 
Field Detail- 
UNSET@Native public static final int UNSET - See Also:
- Constant Field Values
 
 - 
NORMAL_PRIORITY@Native public static final int NORMAL_PRIORITY - See Also:
- Constant Field Values
 
 - 
HIGH_PRIORITY@Native public static final int HIGH_PRIORITY - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
createpublic static SocketFlow create() Creates a new SocketFlow that can be used to set the SO_FLOW_SLA socket option and create a socket flow.
 - 
prioritypublic SocketFlow priority(int priority) Sets this SocketFlow's priority. Must be either NORMAL_PRIORITY HIGH_PRIORITY. If not set, a flow's priority is normal.- Throws:
- IllegalArgumentException- if priority is not NORMAL_PRIORITY or HIGH_PRIORITY.
 
 - 
bandwidthpublic SocketFlow bandwidth(long bandwidth) Sets this SocketFlow's bandwidth. Must be greater than or equal to zero. A value of zero drops all packets for the socket.- Throws:
- IllegalArgumentException- if bandwidth is less than zero.
 
 - 
prioritypublic int priority() Returns this SocketFlow's priority.
 - 
bandwidthpublic long bandwidth() Returns this SocketFlow's bandwidth.- Returns:
- this SocketFlow's bandwidth, or -1if status is not OK.
 
 - 
statuspublic SocketFlow.Status status() Returns the Status value of this SocketFlow. NO_STATUS is returned if the object was not used in a call to set or get the option.
 
- 
 
-