summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Clayton <alex.clayton@isode.com>2016-02-05 12:29:28 (GMT)
committerAlex Clayton <alex.clayton@isode.com>2016-02-09 11:26:11 (GMT)
commit2a0022faeefc38a987e3ad55087f3dd45c35a9fb (patch)
treed6f05250c48038b06fd0d1266b5d212bfff55c42
parent14ce99a513cf4ac8ff4a2305bd5917285dc14106 (diff)
downloadstroke-2a0022faeefc38a987e3ad55087f3dd45c35a9fb.zip
stroke-2a0022faeefc38a987e3ad55087f3dd45c35a9fb.tar.bz2
Finish porting S5BTransportSession
Finish porting S5BTransportSession to Stroke (previously a lot of it had been commented out). To do so had to introduce a heirachy to the SOCKS5BytestreamSession classes (which were being used as type parameters for the Transport Session) and refactor some of the onByteSent signals to insure they were all of the same type (Integer). Also update PortingProgress.txt to update to give status of some of the porting files. Test-information: Ran unit tests they all still pass. Change-Id: I4295b3a8829c208e65f5a46d19c35090f8c55865
-rw-r--r--PortingProgress.txt11
-rw-r--r--src/com/isode/stroke/filetransfer/S5BTransportSession.java30
-rw-r--r--src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java36
-rw-r--r--src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java8
-rw-r--r--src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java11
-rw-r--r--src/com/isode/stroke/filetransfer/TransportSession.java4
6 files changed, 74 insertions, 26 deletions
diff --git a/PortingProgress.txt b/PortingProgress.txt
index 9b22cc6..97c4ac9 100644
--- a/PortingProgress.txt
+++ b/PortingProgress.txt
@@ -84,4 +84,5 @@ All files ported to 6ca201d0b48f4273e24dd7bff17c4a46eeaddf39 except for:
-PayloadPersister -- Not Yet Ported!
-GenericPayloadPersister -- Not Yet Ported!
+Individual Comments:
+PayloadPersister and GenericPayloadPersister implemented as
+GenericPayloadPersister and GenericPayloadLoader.
@@ -98,4 +99,6 @@ All files ported to 6ca201d0b48f4273e24dd7bff17c4a46eeaddf39 except for:
Tests not yet ported.
-Incoming and Outgoing Jingle File Transfer unimplemented due to multiple inheritance.
-S5BTransportSession -- Incomplete.
+
+Individual Comments:
+Incoming and Outgoing Jingle File Transfer have been implemented
+slightly differently to swiften due to multipe inheritance.
diff --git a/src/com/isode/stroke/filetransfer/S5BTransportSession.java b/src/com/isode/stroke/filetransfer/S5BTransportSession.java
index 768354f..4cb2a02 100644
--- a/src/com/isode/stroke/filetransfer/S5BTransportSession.java
+++ b/src/com/isode/stroke/filetransfer/S5BTransportSession.java
@@ -1,3 +1,3 @@
/*
- * Copyright (c) 2015 Isode Limited.
+ * Copyright (c) 2015-2016 Isode Limited.
* All rights reserved.
@@ -13,7 +13,16 @@ package com.isode.stroke.filetransfer;
-import com.isode.stroke.signals.Signal1;
import com.isode.stroke.signals.SignalConnection;
-public class S5BTransportSession<T> extends TransportSession {
+/**
+ * S5BTransportSession
+ *
+ * @param <T> Type of {@link SOCKS5AbstractBytestreamSession} to use.
+ */
+public class S5BTransportSession<T extends SOCKS5AbstractBytestreamSession> extends TransportSession {
+ /**
+ * Constructor for a read byte stream
+ * @param session byte stream session. Should not be {@code null}.
+ * @param readStream read byte stream. Should not be {@code null}.
+ */
public S5BTransportSession(
@@ -26,2 +35,7 @@ public class S5BTransportSession<T> extends TransportSession {
+ /**
+ * Constructor for a write byte stream
+ * @param session byte stream session. Should not be {@code null}.
+ * @param writeStream write byte stream. Should not be {@code null}
+ */
public S5BTransportSession(
@@ -36,6 +50,6 @@ public class S5BTransportSession<T> extends TransportSession {
if (readStream != null) {
- //session.startSending(readStream);
+ session.startSending(readStream);
}
else {
- //session.startReceiving(writeStream);
+ session.startReceiving(writeStream);
}
@@ -44,3 +58,3 @@ public class S5BTransportSession<T> extends TransportSession {
public void stop() {
- //session.stop();
+ session.stop();
}
@@ -48,4 +62,4 @@ public class S5BTransportSession<T> extends TransportSession {
private void initialize() {
- //finishedConnection = session.onFinished.connect(onFinished);
- //bytesSentConnection = session.onBytesSent.connect(onBytesSent);
+ finishedConnection = session.onFinished.connect(onFinished);
+ bytesSentConnection = session.onBytesSent.connect(onBytesSent);
}
diff --git a/src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java b/src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java
new file mode 100644
index 0000000..2f64857
--- /dev/null
+++ b/src/com/isode/stroke/filetransfer/SOCKS5AbstractBytestreamSession.java
@@ -0,0 +1,36 @@
+/* Copyright (c) 2016, Isode Limited, London, England.
+ * All rights reserved.
+ *
+ * Acquisition and use of this software and related materials for any
+ * purpose requires a written license agreement from Isode Limited,
+ * or a written license from an organisation licensed by Isode Limited
+ * to grant such a license.
+ *
+ */
+package com.isode.stroke.filetransfer;
+
+import com.isode.stroke.signals.Signal1;
+
+/**
+ *
+ */
+public abstract class SOCKS5AbstractBytestreamSession {
+
+ /**
+ * Constructor
+ */
+ public SOCKS5AbstractBytestreamSession() {
+ // Empty Constructor
+ }
+
+ abstract public void startReceiving(WriteBytestream writeStream);
+
+ abstract public void startSending(ReadBytestream stream);
+
+ abstract public void stop();
+
+ public final Signal1<FileTransferError> onFinished = new Signal1<FileTransferError>();
+ public final Signal1<Integer> onBytesSent = new Signal1<Integer>();
+ // boost::signal<void (unsigned long long)> onBytesReceived;
+
+}
diff --git a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java
index 0144bcb..3e51b5f 100644
--- a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java
+++ b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamClientSession.java
@@ -6,3 +6,3 @@
/*
- * Copyright (c) 2015 Isode Limited.
+ * Copyright (c) 2015 - 2016 Isode Limited.
* All rights reserved.
@@ -35,3 +35,3 @@ import java.util.logging.Logger;
*/
-public class SOCKS5BytestreamClientSession {
+public class SOCKS5BytestreamClientSession extends SOCKS5AbstractBytestreamSession {
@@ -147,6 +147,2 @@ public class SOCKS5BytestreamClientSession {
- public Signal1<FileTransferError> onFinished = new Signal1<FileTransferError>();
- public Signal1<Integer> onBytesSent = new Signal1<Integer>();
- //public boost::signal<void (size_t)> onBytesReceived;
-
private void process() {
diff --git a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java
index cb09ad9..8452e36 100644
--- a/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java
+++ b/src/com/isode/stroke/filetransfer/SOCKS5BytestreamServerSession.java
@@ -1,3 +1,3 @@
/*
- * Copyright (c) 2010 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
@@ -22,5 +22,6 @@ import com.isode.stroke.signals.Slot;
import com.isode.stroke.signals.Slot1;
+
import java.util.logging.Logger;
-public class SOCKS5BytestreamServerSession {
+public class SOCKS5BytestreamServerSession extends SOCKS5AbstractBytestreamSession {
@@ -118,5 +119,3 @@ public class SOCKS5BytestreamServerSession {
- public Signal1<FileTransferError> onFinished = new Signal1<FileTransferError>();
- public Signal1<Long> onBytesSent = new Signal1<Long>();
- // boost::signal<void (unsigned long long)> onBytesReceived;
+
@@ -230,3 +229,3 @@ public class SOCKS5BytestreamServerSession {
connection.write(dataToSend);
- onBytesSent.emit((long)dataToSend.getSize());
+ onBytesSent.emit(dataToSend.getSize());
waitingForData = false;
diff --git a/src/com/isode/stroke/filetransfer/TransportSession.java b/src/com/isode/stroke/filetransfer/TransportSession.java
index b0e101d..5d07a1b 100644
--- a/src/com/isode/stroke/filetransfer/TransportSession.java
+++ b/src/com/isode/stroke/filetransfer/TransportSession.java
@@ -1,3 +1,3 @@
/*
- * Copyright (c) 2013 Isode Limited.
+ * Copyright (c) 2013-2016 Isode Limited.
* All rights reserved.
@@ -19,3 +19,3 @@ public abstract class TransportSession {
public abstract void stop();
-
+
public final Signal1<Integer> onBytesSent = new Signal1<Integer>();