summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/isode/stroke/network/Connector.java9
-rw-r--r--src/com/isode/stroke/network/ProxiedConnection.java10
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,3 +1,3 @@
/*
- * Copyright (c) 2010-2014, Isode Limited, London, England.
+ * Copyright (c) 2010-2016, Isode Limited, London, England.
* All rights reserved.
@@ -64,2 +64,9 @@ public class Connector {
public void stop() {
+ if (currentConnectionConnectFinishedConnection != null) {
+ currentConnectionConnectFinishedConnection.disconnect();
+ currentConnectionConnectFinishedConnection = null;
+ }
+ if (currentConnection != null) {
+ currentConnection.disconnect();
+ }
finish(null);
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
@@ -13,2 +13,4 @@ package com.isode.stroke.network;
+import java.util.logging.Logger;
+
import com.isode.stroke.signals.SignalConnection;
@@ -32,2 +34,3 @@ public abstract class ProxiedConnection extends Connection {
private SignalConnection onConnectFinishedConnection;
+ private Logger logger_ = Logger.getLogger(this.getClass().getName());
@@ -51,3 +54,3 @@ public abstract class ProxiedConnection extends Connection {
if (connected_) {
- System.err.println("Warning: Connection was still established.");
+ logger_.warning("Warning: Connection was still established.");
}
@@ -78,4 +81,7 @@ public abstract class ProxiedConnection extends Connection {
public void disconnect() {
+ cancelConnector();
connected_ = false;
- connection_.disconnect();
+ if (connection_ != null) {
+ connection_.disconnect();
+ }
}