模块  jdk.net
软件包  jdk.net

Class SocketFlow


  • public class SocketFlow
    extends Object
    表示特定于平台的套接字选项ExtendedSocketOptions.SO_FLOW_SLA的服务级别属性。

    必须在设置套接字选项之前设置优先级和带宽参数。

    设置SO_FLOW_SLA选项后,它可能不会立即生效。 如果使用getOption()获取套接字选项的值,则状态可能会返回为INPROGRESS直到它生效。 优先级和带宽值仅在状态返回为OK时有效。

    安装安全管理器时,需要NetworkPermission来设置或获取此选项。

    从以下版本开始:
    1.8
    • 方法详细信息

      • 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。