- java.lang.Object
-
- jdk.net.SocketFlow
-
public class SocketFlow extends Object
表示平台特定套接字选项ExtendedSocketOptions.SO_FLOW_SLA
的服务级别属性。在设置套接字选项之前,必须先设置优先级和带宽参数。
当设置了
SO_FLOW_SLA
选项时,可能不会立即生效。 如果使用getOption()
获取套接字选项的值,则状态可能会返回为INPROGRESS
直到生效。 优先级和带宽值仅在状态返回为“OK”时有效。安装安全管理器时,需要一个
NetworkPermission
来设置或获取此选项。- 从以下版本开始:
- 1.8
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
SocketFlow.Status
从SO_FLOW_SLA套接字选项枚举返回值。
-
Field Summary
Fields Modifier and Type Field 描述 static int
HIGH_PRIORITY
static int
NORMAL_PRIORITY
static int
UNSET
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 long
bandwidth()
返回此SocketFlow的带宽。SocketFlow
bandwidth(long bandwidth)
设置这个SocketFlow的带宽。static SocketFlow
create()
创建一个新的SocketFlow,可用于设置SO_FLOW_SLA套接字选项并创建套接字流。int
priority()
返回此SocketFlow的优先级。SocketFlow
priority(int priority)
设置这个SocketFlow的优先级。SocketFlow.Status
status()
返回此SocketFlow的Status值。String
toString()
返回对象的字符串表示形式。
-
-
-
字段详细信息
-
UNSET
@Native public static final int UNSET
- 另请参见:
- Constant Field Values
-
NORMAL_PRIORITY
@Native public static final int NORMAL_PRIORITY
- 另请参见:
- Constant Field Values
-
HIGH_PRIORITY
@Native public static final int HIGH_PRIORITY
- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
create
public static SocketFlow create()
创建一个新的SocketFlow,可用于设置SO_FLOW_SLA套接字选项并创建套接字流。
-
priority
public SocketFlow priority(int priority)
设置这个SocketFlow的优先级。 必须是NORMAL_PRIORITY HIGH_PRIORITY。 如果没有设置,流的优先级是正常的。- 异常
-
IllegalArgumentException
- 如果优先级不是NORMAL_PRIORITY或HIGH_PRIORITY。
-
bandwidth
public SocketFlow bandwidth(long bandwidth)
设置这个SocketFlow的带宽。 必须大于或等于零。 值为零会丢弃套接字的所有数据包。- 异常
-
IllegalArgumentException
- 如果带宽小于零。
-
priority
public int priority()
返回此SocketFlow的优先级。
-
bandwidth
public long bandwidth()
返回此SocketFlow的带宽。- 结果
-
这个SocketFlow的带宽,或
-1
如果状态不正常。
-
status
public SocketFlow.Status status()
返回此SocketFlow的Status值。 如果在调用中没有使用该对象来设置或获取该选项,则返回NO_STATUS。
-
-