- java.lang.Object
-
- jdk.net.SocketFlow
-
public class SocketFlow extends Object
表示特定于平台的套接字选项ExtendedSocketOptions.SO_FLOW_SLA
的服务级别属性。必须在设置套接字选项之前设置优先级和带宽参数。
设置
SO_FLOW_SLA
选项后,它可能不会立即生效。 如果使用getOption()
获取套接字选项的值,则状态可能会返回为INPROGRESS
直到它生效。 优先级和带宽值仅在状态返回为OK时有效。安装安全管理器时,需要
NetworkPermission
来设置或获取此选项。- 从以下版本开始:
- 1.8
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
SocketFlow.Status
枚举SO_FLOW_SLA套接字选项的返回值。
-
字段汇总
字段 变量和类型 字段 描述 static int
HIGH_PRIORITY
static int
NORMAL_PRIORITY
static int
UNSET
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 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值。
-
-
-
方法详细信息
-
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。
-
-