Class SocketFlow
- java.lang.Object
-
- jdk.net.SocketFlow
public class SocketFlow extends Object
Represents the service level properties for the platform specific socket option ExtendedSocketOptions.SO_FLOW_SLA
.
The priority and bandwidth parameters must be set before setting the socket option.
When the SO_FLOW_SLA
option is set then it may not take effect immediately. If the value of the socket option is obtained with getOption()
then the status may be returned as INPROGRESS
until 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 NetworkPermission
is required to set or get this option.
- Since:
- 1.8
Nested Classes
Modifier and Type | Class | Description |
---|---|---|
static class | SocketFlow.Status | Enumeration of the return values from the SO_FLOW_SLA socket option. |
Fields
Modifier and Type | Field | Description |
---|---|---|
static int | HIGH_PRIORITY | |
static int | NORMAL_PRIORITY | |
static int | UNSET |
Methods
Modifier and Type | Method | Description |
---|---|---|
long | bandwidth() | Returns this SocketFlow's bandwidth. |
SocketFlow | bandwidth(long bandwidth) | Sets this SocketFlow's bandwidth. |
static SocketFlow | create() | Creates a new SocketFlow that can be used to set the SO_FLOW_SLA socket option and create a socket flow. |
int | priority() | Returns this SocketFlow's priority. |
SocketFlow | priority(int priority) | Sets this SocketFlow's priority. |
SocketFlow.Status | status() | Returns the Status value of this SocketFlow. |
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Fields
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
Methods
create
public static SocketFlow create()
Creates a new SocketFlow that can be used to set the SO_FLOW_SLA socket option and create a socket flow.
priority
public 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.
bandwidth
public 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.
priority
public int priority()
Returns this SocketFlow's priority.
bandwidth
public long bandwidth()
Returns this SocketFlow's bandwidth.
- Returns:
- this SocketFlow's bandwidth, or
-1
if status is not OK.
status
public 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.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.net/jdk/net/SocketFlow.html