Skip to content

Commit 7bd26cc

Browse files
committed
Avoid use of covariant return type change fns fixing backwards compat
See, eg, https://jira.mongodb.org/browse/JAVA-2559. This results in errors like the following: ``` 2021-06-12 17:15:58.893 13340-13412/com.example.rnldk E/AndroidRuntime: FATAL EXCEPTION: NioPeerHandler NIO Thread Process: com.example.rnldk, PID: 13340 java.lang.NoSuchMethodError: No virtual method clear()Ljava/nio/ByteBuffer; in class Ljava/nio/ByteBuffer; or its super classes (declaration of 'java.nio.ByteBuffer' appears in /system/framework/core-oj.jar) at org.ldk.batteries.NioPeerHandler.lambda$new$0$NioPeerHandler(NioPeerHandler.java:185) at org.ldk.batteries.-$$Lambda$NioPeerHandler$f9v_DKRzmlYYXidLTlb3OtA-tVY.run(Unknown Source:2) at java.lang.Thread.run(Thread.java:764) ```
1 parent 4adc27e commit 7bd26cc

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/main/java/org/ldk/batteries/NioPeerHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.io.IOException;
66
import java.net.SocketAddress;
77
import java.net.StandardSocketOptions;
8+
import java.nio.Buffer;
89
import java.nio.ByteBuffer;
910
import java.nio.channels.*;
1011

@@ -182,13 +183,13 @@ public NioPeerHandler(PeerManager manager) throws IOException {
182183
}
183184
}
184185
if (key.isValid() && (key.interestOps() & SelectionKey.OP_READ) != 0 && key.isReadable()) {
185-
buf.clear();
186+
((Buffer)buf).clear();
186187
int read = ((SocketChannel) key.channel()).read(buf);
187188
if (read == -1) {
188189
this.peer_manager.socket_disconnected(peer.descriptor);
189190
key.cancel();
190191
} else if (read > 0) {
191-
buf.flip();
192+
((Buffer)buf).flip();
192193
byte[] read_bytes = new byte[read];
193194
buf.get(read_bytes, 0, read);
194195
Result_boolPeerHandleErrorZ res = this.peer_manager.read_event(peer.descriptor, read_bytes);

0 commit comments

Comments
 (0)