From e70229140bb03f9be75589d454eee768043f1897 Mon Sep 17 00:00:00 2001 From: idk <hankhill19580@gmail.com> Date: Sun, 8 Jan 2023 00:28:26 +0000 Subject: [PATCH] use a containsKey()+put instead of putIfAbsent because putIfAbsent is not present in Java 8, thereby breaking Maven builds --- .../router/transport/udp/UDPTransport.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index 826a027a86..52f22cfc5f 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -1736,7 +1736,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority Long id = Long.valueOf(peer.getRcvConnID()); PeerStateDestroyed oldPSD; synchronized(_addDropLock) { - oldPSD = _recentlyClosedConnIDs.putIfAbsent(id, peer); + if (_recentlyClosedConnIDs.containsKey(id)){ + oldPSD = _recentlyClosedConnIDs.put(id, peer); + }else{ + oldPSD = _recentlyClosedConnIDs.get(id); + } } if (oldPSD != null) peer.kill(); @@ -1928,7 +1932,12 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority PeerState2 state2 = (PeerState2) oldPeer; Long id = Long.valueOf(state2.getRcvConnID()); PeerStateDestroyed newPSD = new PeerStateDestroyed(_context, this, state2); - PeerStateDestroyed oldPSD = _recentlyClosedConnIDs.putIfAbsent(id, newPSD); + PeerStateDestroyed oldPSD; + if (_recentlyClosedConnIDs.containsKey(id)){ + oldPSD = _recentlyClosedConnIDs.put(id, newPSD); + }else{ + oldPSD = _recentlyClosedConnIDs.get(id); + } if (oldPSD != null) newPSD.kill(); _peersByConnID.remove(id); @@ -2187,7 +2196,12 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority PeerState2 state2 = (PeerState2) peer; Long id = Long.valueOf(state2.getRcvConnID()); PeerStateDestroyed newPSD = new PeerStateDestroyed(_context, this, state2); - PeerStateDestroyed oldPSD = _recentlyClosedConnIDs.putIfAbsent(id, newPSD); + PeerStateDestroyed oldPSD; + if (_recentlyClosedConnIDs.containsKey(id)){ + oldPSD = _recentlyClosedConnIDs.put(id, newPSD); + }else{ + oldPSD = _recentlyClosedConnIDs.get(id); + } if (oldPSD != null) newPSD.kill(); _peersByConnID.remove(id); -- GitLab