From 8bbae914c7bfdb72949edc2fc36ce47fded711af Mon Sep 17 00:00:00 2001 From: Tigran Mkrtchyan Date: Wed, 26 Feb 2020 16:02:57 +0100 Subject: [PATCH] vehicles: remove historic field from PoolPassiveIoFileMessage Motivation: PoolPassiveIoFileMessage contains an array of InetSocketAddress to tell doors where all possible endpoint for a client and a single InetSocketAddress, that points only to the first element of the array. This historic construction makes no sense any more as all dcache around already handle the array based version. Modification: remove remove historic field from PoolPassiveIoFileMessage. Update dcap door to use PoolPassiveIoFileMessage#socketAddresses. Result: less code. This change is backward compatible, e.g. new doors will work with old pools, but required new DCAP doors to work with new pools, which is OK. Acked-by: Paul Millar Target: master Require-book: no Require-notes: yes --- .../doors/DCapDoorInterpreterV3.java | 2 +- .../vehicles/PoolPassiveIoFileMessage.java | 16 ++++------------ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/modules/dcache-dcap/src/main/java/diskCacheV111/doors/DCapDoorInterpreterV3.java b/modules/dcache-dcap/src/main/java/diskCacheV111/doors/DCapDoorInterpreterV3.java index a1b98ef073a..57213ad06df 100644 --- a/modules/dcache-dcap/src/main/java/diskCacheV111/doors/DCapDoorInterpreterV3.java +++ b/modules/dcache-dcap/src/main/java/diskCacheV111/doors/DCapDoorInterpreterV3.java @@ -2226,7 +2226,7 @@ private void storeChecksumInPnfs( PnfsId pnfsId , String checksumString){ public void poolPassiveIoFileMessage( PoolPassiveIoFileMessage reply) { - InetSocketAddress poolSocketAddress = reply.socketAddress(); + InetSocketAddress poolSocketAddress = reply.socketAddresses()[0]; StringBuilder sb = new StringBuilder() ; sb.append(_sessionId).append(" "). diff --git a/modules/dcache-vehicles/src/main/java/diskCacheV111/vehicles/PoolPassiveIoFileMessage.java b/modules/dcache-vehicles/src/main/java/diskCacheV111/vehicles/PoolPassiveIoFileMessage.java index cc9288a1c00..29cfa528e14 100644 --- a/modules/dcache-vehicles/src/main/java/diskCacheV111/vehicles/PoolPassiveIoFileMessage.java +++ b/modules/dcache-vehicles/src/main/java/diskCacheV111/vehicles/PoolPassiveIoFileMessage.java @@ -3,10 +3,11 @@ import java.io.Serializable; import java.net.InetSocketAddress; +import static java.util.Objects.requireNonNull; + public class PoolPassiveIoFileMessage extends PoolMessage { private static final long serialVersionUID = -8019787998659861618L; - private final InetSocketAddress _socketAddress; private final InetSocketAddress[] _socketAddresses; private final T _challange; @@ -30,22 +31,13 @@ public PoolPassiveIoFileMessage(String pool, InetSocketAddress socketAddress, T */ public PoolPassiveIoFileMessage(String pool, InetSocketAddress[] socketAddresses, T challenge, long verifier) { super(pool); - _socketAddresses = socketAddresses; - _socketAddress = _socketAddresses[0]; + _socketAddresses = requireNonNull(socketAddresses, "Socket address is not defined."); _challange = challenge; _verifier = verifier; } - public InetSocketAddress socketAddress() { - return _socketAddress; - } - public InetSocketAddress[] socketAddresses() { - /* - * A bit of crappy code to handle old/new version of the class. - */ - return _socketAddresses == null? - new InetSocketAddress[] { _socketAddress } : _socketAddresses; + return _socketAddresses; } public long getVerifier() {