From 4027169d2293beb4e641c6b62e31aba2468fac27 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 13 Oct 2010 11:49:06 +0400 Subject: [PATCH] constructor replaced with factory method --- .../io/socketConnection/SocketConnection.java | 2 ++ .../SocketConnectionFactory.java | 36 +++++++++++++++++++ .../impl/SocketConnectionImpl.java | 27 +++++++------- 3 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnectionFactory.java diff --git a/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnection.java b/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnection.java index 52d22fd19ad3..54367aba1a36 100644 --- a/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnection.java +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnection.java @@ -45,4 +45,6 @@ public interface SocketConnection handler, int timeout, @NotNull Runnable onTimeout); + + boolean isStopping(); } 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 new file mode 100644 index 000000000000..8c2b31519890 --- /dev/null +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/SocketConnectionFactory.java @@ -0,0 +1,36 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.util.io.socketConnection; + +import com.intellij.util.io.socketConnection.impl.SocketConnectionImpl; + +/** + * @author nik + */ +public class SocketConnectionFactory { + private SocketConnectionFactory() { + } + + public static SocketConnection + createConnection(int defaultPort, int attempts, RequestResponseExternalizerFactory factory) { + return new SocketConnectionImpl(defaultPort, attempts, factory); + } + + public static SocketConnection + createConnection(int defaultPort, RequestResponseExternalizerFactory factory) { + return new SocketConnectionImpl(defaultPort, 1, factory); + } +} diff --git a/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/SocketConnectionImpl.java b/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/SocketConnectionImpl.java index a93da5318700..c21e02e5ebd7 100644 --- a/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/SocketConnectionImpl.java +++ b/platform/platform-impl/src/com/intellij/util/io/socketConnection/impl/SocketConnectionImpl.java @@ -40,21 +40,21 @@ public class SocketConnectionImpl myDispatcher = EventDispatcher.create(SocketConnectionListener.class); private ServerSocket myServerSocket; private String myStatusMessage; private Thread myProcessingThread; - private final int myInitialPort; - private final int myPortsAttemptsNumber; + private final int myDefaultPort; + private final int myConnectionAttempts; private final RequestResponseExternalizerFactory myExternalizerFactory; private final LinkedBlockingQueue myRequests = new LinkedBlockingQueue(); private final TIntObjectHashMap myTimeouts = new TIntObjectHashMap(); private final ResponseProcessor myResponseProcessor; - public SocketConnectionImpl(int initialPort, int portsAttemptsNumber, @NotNull RequestResponseExternalizerFactory factory) { - myInitialPort = initialPort; - myPortsAttemptsNumber = portsAttemptsNumber; + public SocketConnectionImpl(int defaultPort, int connectionAttempts, @NotNull RequestResponseExternalizerFactory factory) { + myDefaultPort = defaultPort; + myConnectionAttempts = connectionAttempts; myExternalizerFactory = factory; myResponseProcessor = new ResponseProcessor(this); } @@ -79,8 +79,8 @@ public class SocketConnectionImpl writer) throws IOException { try { - while (!isStopped()) { + while (!isStopping()) { final Request request = myRequests.take(); LOG.debug("sending request: " + request); final TimeoutInfo timeoutInfo = myTimeouts.remove(request.getId());