summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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>();