Introduce a SocketFamily instead

This commit is contained in:
Guillaume Nodet
2021-07-22 09:53:22 +02:00
parent b67ab81c3d
commit aa89bd64ba
18 changed files with 400 additions and 428 deletions

View File

@@ -18,7 +18,6 @@ package org.mvndaemon.mvnd.client;
import java.io.File;
import java.io.IOException;
import java.net.SocketAddress;
import java.net.StandardProtocolFamily;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;
import java.nio.file.Files;
@@ -50,7 +49,7 @@ import org.mvndaemon.mvnd.common.Environment;
import org.mvndaemon.mvnd.common.MavenDaemon;
import org.mvndaemon.mvnd.common.Message;
import org.mvndaemon.mvnd.common.Os;
import org.mvndaemon.mvnd.common.SocketHelper;
import org.mvndaemon.mvnd.common.SocketFamily;
import org.mvndaemon.mvnd.common.logging.ClientOutput;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -375,7 +374,7 @@ public class DaemonConnector {
Environment.MVND_REGISTRY.addCommandLineOption(args, parameters.registry().toString());
Environment.MVND_SOCKET_FAMILY.addCommandLineOption(args,
parameters.socketFamily().orElseGet(
() -> getJavaVersion() >= 16.0f ? StandardProtocolFamily.UNIX : StandardProtocolFamily.INET)
() -> getJavaVersion() >= 16.0f ? SocketFamily.unix : SocketFamily.inet)
.toString());
parameters.discriminatingCommandLineOptions(args);
args.add(MavenDaemon.class.getName());
@@ -476,11 +475,11 @@ public class DaemonConnector {
}
public DaemonConnection connect(String str, byte[] token) throws DaemonException.ConnectException {
SocketAddress address = SocketHelper.socketAddressFromString(str);
StandardProtocolFamily family = SocketHelper.getSocketFamily(address);
SocketAddress address = SocketFamily.fromString(str);
try {
LOGGER.debug("Trying to connect to address {}.", address);
SocketChannel socketChannel = SocketHelper.openSocket(family);
SocketFamily family = SocketFamily.familyOf(address);
SocketChannel socketChannel = family.openSocket();
socketChannel.configureBlocking(false);
boolean connected = socketChannel.connect(address);
if (!connected) {

View File

@@ -18,7 +18,6 @@ package org.mvndaemon.mvnd.client;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.StandardProtocolFamily;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -44,6 +43,7 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.mvndaemon.mvnd.common.BuildProperties;
import org.mvndaemon.mvnd.common.Environment;
import org.mvndaemon.mvnd.common.Os;
import org.mvndaemon.mvnd.common.SocketFamily;
import org.mvndaemon.mvnd.common.TimeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -324,8 +324,8 @@ public class DaemonParameters {
return property(Environment.MVND_LOG_PURGE_PERIOD).orFail().asDuration();
}
public Optional<StandardProtocolFamily> socketFamily() {
return property(Environment.MVND_SOCKET_FAMILY).asOptional().map(StandardProtocolFamily::valueOf);
public Optional<SocketFamily> socketFamily() {
return property(Environment.MVND_SOCKET_FAMILY).asOptional().map(SocketFamily::valueOf);
}
public static String findDefaultMultimoduleProjectDirectory(Path pwd) {