absurdfarce commented on code in PR #2013:
URL:
https://github.com/apache/cassandra-java-driver/pull/2013#discussion_r2127402217
##########
core/src/main/java/com/datastax/oss/driver/internal/core/addresstranslation/Subnet.java:
##########
@@ -0,0 +1,157 @@
+package com.datastax.oss.driver.internal.core.addresstranslation;
+
+import
com.datastax.oss.driver.shaded.guava.common.annotations.VisibleForTesting;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+
+class Subnet {
+ private final byte[] subnet;
+ private final byte[] networkMask;
+ private final byte[] upper;
+ private final byte[] lower;
+
+ private Subnet(byte[] subnet, byte[] networkMask) {
+ this.subnet = subnet;
+ this.networkMask = networkMask;
+
+ byte[] upper = new byte[subnet.length];
+ byte[] lower = new byte[subnet.length];
+ for (int i = 0; i < subnet.length; i++) {
+ upper[i] = (byte) (subnet[i] | ~networkMask[i]);
+ lower[i] = (byte) (subnet[i] & networkMask[i]);
+ }
+ this.upper = upper;
+ this.lower = lower;
+ }
+
+ static Subnet parse(String subnetCIDR) throws UnknownHostException {
+ String[] parts = subnetCIDR.split("/");
Review Comment:
ErrorProne complains about this line when building due to [known issues with
String.split()](https://errorprone.info/bugpattern/StringSplitter).
Recommendation is to replace this with:
```java
List<String> parts = Splitter.on('/').splitToList(subnetCIDR);
```
I used something slightly different to preserve the `String[]` type
throughout the rest of the code and it seemed to work fine:
```java
String[] parts = Iterables.toArray(Splitter.on('/').split(subnetCIDR),
String.class);
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]