diff options
| -rw-r--r-- | src/com/isode/stroke/network/Connector.java | 9 | ||||
| -rw-r--r-- | src/com/isode/stroke/network/ProxiedConnection.java | 10 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/com/isode/stroke/network/Connector.java b/src/com/isode/stroke/network/Connector.java index 6033a89..2823679 100644 --- a/src/com/isode/stroke/network/Connector.java +++ b/src/com/isode/stroke/network/Connector.java | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2010-2014, Isode Limited, London, England. | 2 | * Copyright (c) 2010-2016, Isode Limited, London, England. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | */ | 4 | */ |
| 5 | /* | 5 | /* |
| @@ -62,6 +62,13 @@ public class Connector { | |||
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | public void stop() { | 64 | public void stop() { |
| 65 | if (currentConnectionConnectFinishedConnection != null) { | ||
| 66 | currentConnectionConnectFinishedConnection.disconnect(); | ||
| 67 | currentConnectionConnectFinishedConnection = null; | ||
| 68 | } | ||
| 69 | if (currentConnection != null) { | ||
| 70 | currentConnection.disconnect(); | ||
| 71 | } | ||
| 65 | finish(null); | 72 | finish(null); |
| 66 | } | 73 | } |
| 67 | 74 | ||
diff --git a/src/com/isode/stroke/network/ProxiedConnection.java b/src/com/isode/stroke/network/ProxiedConnection.java index 5eac083..69b4b90 100644 --- a/src/com/isode/stroke/network/ProxiedConnection.java +++ b/src/com/isode/stroke/network/ProxiedConnection.java | |||
| @@ -11,6 +11,8 @@ | |||
| 11 | 11 | ||
| 12 | package com.isode.stroke.network; | 12 | package com.isode.stroke.network; |
| 13 | 13 | ||
| 14 | import java.util.logging.Logger; | ||
| 15 | |||
| 14 | import com.isode.stroke.signals.SignalConnection; | 16 | import com.isode.stroke.signals.SignalConnection; |
| 15 | import com.isode.stroke.signals.Slot2; | 17 | import com.isode.stroke.signals.Slot2; |
| 16 | import com.isode.stroke.signals.Slot1; | 18 | import com.isode.stroke.signals.Slot1; |
| @@ -30,6 +32,7 @@ public abstract class ProxiedConnection extends Connection { | |||
| 30 | private SignalConnection onDataReadConnection_; | 32 | private SignalConnection onDataReadConnection_; |
| 31 | private SignalConnection onDisconnectedConnection_; | 33 | private SignalConnection onDisconnectedConnection_; |
| 32 | private SignalConnection onConnectFinishedConnection; | 34 | private SignalConnection onConnectFinishedConnection; |
| 35 | private Logger logger_ = Logger.getLogger(this.getClass().getName()); | ||
| 33 | 36 | ||
| 34 | public ProxiedConnection(DomainNameResolver resolver, ConnectionFactory connectionFactory, TimerFactory timerFactory, final String proxyHost, int proxyPort) { | 37 | public ProxiedConnection(DomainNameResolver resolver, ConnectionFactory connectionFactory, TimerFactory timerFactory, final String proxyHost, int proxyPort) { |
| 35 | this.resolver_ = resolver; | 38 | this.resolver_ = resolver; |
| @@ -49,7 +52,7 @@ public abstract class ProxiedConnection extends Connection { | |||
| 49 | onDisconnectedConnection_.disconnect(); | 52 | onDisconnectedConnection_.disconnect(); |
| 50 | } | 53 | } |
| 51 | if (connected_) { | 54 | if (connected_) { |
| 52 | System.err.println("Warning: Connection was still established."); | 55 | logger_.warning("Warning: Connection was still established."); |
| 53 | } | 56 | } |
| 54 | } | 57 | } |
| 55 | finally { | 58 | finally { |
| @@ -76,8 +79,11 @@ public abstract class ProxiedConnection extends Connection { | |||
| 76 | } | 79 | } |
| 77 | 80 | ||
| 78 | public void disconnect() { | 81 | public void disconnect() { |
| 82 | cancelConnector(); | ||
| 79 | connected_ = false; | 83 | connected_ = false; |
| 80 | connection_.disconnect(); | 84 | if (connection_ != null) { |
| 85 | connection_.disconnect(); | ||
| 86 | } | ||
| 81 | } | 87 | } |
| 82 | 88 | ||
| 83 | public void write(final SafeByteArray data) { | 89 | public void write(final SafeByteArray data) { |
Swift