diff --git a/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseHandler.java b/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseHandler.java index 81a63b3fc19e..42349e478bb3 100644 --- a/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseHandler.java +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseHandler.java @@ -15,9 +15,11 @@ */ package com.intellij.util.io.socketConnection; +import org.jetbrains.annotations.NotNull; + /** * @author nik */ -public abstract class AbstractResponseHandler { - public abstract void processResponse(R response); +public interface AbstractResponseHandler { + void processResponse(@NotNull R response); } diff --git a/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseToRequestHandler.java b/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseToRequestHandler.java index a247936ae975..d570186271c1 100644 --- a/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseToRequestHandler.java +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/AbstractResponseToRequestHandler.java @@ -15,9 +15,14 @@ */ package com.intellij.util.io.socketConnection; +import org.jetbrains.annotations.NotNull; + /** * @author nik */ -public abstract class AbstractResponseToRequestHandler { - public abstract boolean processResponse(R response); +public interface AbstractResponseToRequestHandler { + /** + * @return true if no further responses to this request are expected, false if more responses are coming + */ + boolean processResponse(@NotNull R response); } diff --git a/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnectionFactory.java b/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnectionFactory.java index 957e0e8074da..435e168b27f2 100644 --- a/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnectionFactory.java +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnectionFactory.java @@ -29,14 +29,14 @@ public class SocketConnectionFactory { } public static - SocketConnection createServerConnection(int defaultPort, int attempts, RequestResponseExternalizerFactory factory) { - return new ServerSocketConnectionImpl<>(defaultPort, attempts, factory); + SocketConnection createServerConnection(int defaultPort, @Nullable InetAddress bindAddress, int attempts, RequestResponseExternalizerFactory factory) { + return new ServerSocketConnectionImpl<>(defaultPort, bindAddress, attempts, factory); } public static - SocketConnection createServerConnection(int defaultPort, RequestResponseExternalizerFactory factory) { - return new ServerSocketConnectionImpl<>(defaultPort, 1, factory); + SocketConnection createServerConnection(int defaultPort, @Nullable InetAddress bindAddress, RequestResponseExternalizerFactory factory) { + return new ServerSocketConnectionImpl<>(defaultPort, bindAddress, 1, factory); } public static diff --git a/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/ServerSocketConnectionImpl.java b/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/ServerSocketConnectionImpl.java index b28e71ab51fc..85d40ae085d4 100644 --- a/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/ServerSocketConnectionImpl.java +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/ServerSocketConnectionImpl.java @@ -8,8 +8,10 @@ import com.intellij.util.io.socketConnection.AbstractResponse; import com.intellij.util.io.socketConnection.ConnectionStatus; import com.intellij.util.io.socketConnection.RequestResponseExternalizerFactory; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.io.IOException; +import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; @@ -20,14 +22,17 @@ public class ServerSocketConnectionImpl factory) { super(factory); myDefaultPort = defaultPort; - myConnectionAttempts = connectionAttempts; + myPortChoiceAttempts = portChoiceAttempts; + myBindAddress = bindAddress; } @Override @@ -48,10 +53,10 @@ public class ServerSocketConnectionImpl