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,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
12package com.isode.stroke.network; 12package com.isode.stroke.network;
13 13
14import java.util.logging.Logger;
15
14import com.isode.stroke.signals.SignalConnection; 16import com.isode.stroke.signals.SignalConnection;
15import com.isode.stroke.signals.Slot2; 17import com.isode.stroke.signals.Slot2;
16import com.isode.stroke.signals.Slot1; 18import 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) {