42 private final Class<T> type; 43 ExtSocketOption(String name, Class<T> type) { 44 this.name = name; 45 this.type = type; 46 } 47 @Override public String name() { return name; } 48 @Override public Class<T> type() { return type; } 49 @Override public String toString() { return name; } 50 } 51 52 private ExtendedSocketOptions() {} 53 54 /** 55 * Service level properties. When a security manager is installed, 56 * setting or getting this option requires a {@link NetworkPermission} 57 * {@code ("setOption.SO_FLOW_SLA")} or {@code "getOption.SO_FLOW_SLA"} 58 * respectively. 59 */ 60 public static final SocketOption<SocketFlow> SO_FLOW_SLA = new 61 ExtSocketOption<SocketFlow>("SO_FLOW_SLA", SocketFlow.class); 62 } | 42 private final Class<T> type; 43 ExtSocketOption(String name, Class<T> type) { 44 this.name = name; 45 this.type = type; 46 } 47 @Override public String name() { return name; } 48 @Override public Class<T> type() { return type; } 49 @Override public String toString() { return name; } 50 } 51 52 private ExtendedSocketOptions() {} 53 54 /** 55 * Service level properties. When a security manager is installed, 56 * setting or getting this option requires a {@link NetworkPermission} 57 * {@code ("setOption.SO_FLOW_SLA")} or {@code "getOption.SO_FLOW_SLA"} 58 * respectively. 59 */ 60 public static final SocketOption<SocketFlow> SO_FLOW_SLA = new 61 ExtSocketOption<SocketFlow>("SO_FLOW_SLA", SocketFlow.class); 62 63 /** 64 * Sets SO_REUSEPORT for a socket. This option enables and disables 65 * the ability of having multiple sockets listen to the same address 66 * and port. It is supported in Linux with kernel 3.9+. 67 * Setting or getting this option requires 68 * {@code ("setOption.SO_REUSEPORT")} or {@code "getOption.SO_REUSEPORT"} 69 * respectively. 70 */ 71 public static final SocketOption<Boolean> SO_REUSEPORT = new 72 ExtSocketOption<Boolean>("SO_REUSEPORT", Boolean.class); 73 } |