summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-17 02:22:32 (GMT)
committerNick Hudson <nick.hudson@isode.com>2015-07-28 13:14:20 (GMT)
commit673655830b0325d964e67fa835ea83f485e9beeb (patch)
tree27e4f8bd20dd9011207641a83212ced393fbada2 /src/com/isode/stroke/streamstack
parent6f84f6a65b8b80e2f599dff76da0cd13fbead611 (diff)
downloadstroke-673655830b0325d964e67fa835ea83f485e9beeb.zip
stroke-673655830b0325d964e67fa835ea83f485e9beeb.tar.bz2
Complete StreamStack and add tests.
TLSLayer could not be updated because it requires TLS to be ported first. Updates other classes, only for having compatibility with SafeByteArray because of updates in Stream Stack. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for StreamStack and XMPPLayer, which passes. Change-Id: I8707fc1f16d622d2a90f6f39f671b7e7c46aa170
Diffstat (limited to 'src/com/isode/stroke/streamstack')
-rw-r--r--src/com/isode/stroke/streamstack/CompressionLayer.java6
-rw-r--r--src/com/isode/stroke/streamstack/ConnectionLayer.java14
-rw-r--r--src/com/isode/stroke/streamstack/HighLayer.java6
-rw-r--r--src/com/isode/stroke/streamstack/LowLayer.java6
-rw-r--r--src/com/isode/stroke/streamstack/StreamLayer.java6
-rw-r--r--src/com/isode/stroke/streamstack/StreamStack.java2
-rw-r--r--src/com/isode/stroke/streamstack/TLSLayer.java16
-rw-r--r--src/com/isode/stroke/streamstack/WhitespacePingLayer.java8
-rw-r--r--src/com/isode/stroke/streamstack/XMPPLayer.java26
9 files changed, 45 insertions, 45 deletions
diff --git a/src/com/isode/stroke/streamstack/CompressionLayer.java b/src/com/isode/stroke/streamstack/CompressionLayer.java
index d08f105..b89b3d2 100644
--- a/src/com/isode/stroke/streamstack/CompressionLayer.java
+++ b/src/com/isode/stroke/streamstack/CompressionLayer.java
@@ -9,7 +9,7 @@
*/
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
import com.isode.stroke.compress.ZLibCompressor;
import com.isode.stroke.compress.ZLibDecompressor;
import com.isode.stroke.compress.ZLibException;
@@ -17,7 +17,7 @@ import com.isode.stroke.signals.Signal;
public class CompressionLayer extends StreamLayer {
- public void writeData(ByteArray data) {
+ public void writeData(SafeByteArray data) {
try {
writeDataToChildLayer(compressor_.process(data));
}
@@ -26,7 +26,7 @@ public class CompressionLayer extends StreamLayer {
}
}
- public void handleDataRead(ByteArray data) {
+ public void handleDataRead(SafeByteArray data) {
try {
writeDataToParentLayer(decompressor_.process(data));
}
diff --git a/src/com/isode/stroke/streamstack/ConnectionLayer.java b/src/com/isode/stroke/streamstack/ConnectionLayer.java
index 0927a32..d003b52 100644
--- a/src/com/isode/stroke/streamstack/ConnectionLayer.java
+++ b/src/com/isode/stroke/streamstack/ConnectionLayer.java
@@ -4,7 +4,7 @@
*/
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
import com.isode.stroke.network.Connection;
import com.isode.stroke.signals.Slot1;
@@ -12,15 +12,15 @@ public class ConnectionLayer implements LowLayer {
public ConnectionLayer(Connection connection) {
this.connection = connection;
- connection.onDataRead.connect(new Slot1<ByteArray>() {
+ connection.onDataRead.connect(new Slot1<SafeByteArray>() {
- public void call(ByteArray p1) {
+ public void call(SafeByteArray p1) {
writeDataToParentLayer(p1);
}
});
}
- public void writeData(ByteArray data) {
+ public void writeData(SafeByteArray data) {
connection.write(data);
}
@@ -29,11 +29,11 @@ public class ConnectionLayer implements LowLayer {
/* Work around multiple inheritance workaround again */
StreamLayer fakeStreamLayer_ = new StreamLayer() {
- public void writeData(ByteArray data) {
+ public void writeData(SafeByteArray data) {
connection.write(data);
}
- public void handleDataRead(ByteArray data) {
+ public void handleDataRead(SafeByteArray data) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
@@ -46,7 +46,7 @@ public class ConnectionLayer implements LowLayer {
fakeStreamLayer_.setParentLayer(parentLayer);
}
- public void writeDataToParentLayer(ByteArray data) {
+ public void writeDataToParentLayer(SafeByteArray data) {
fakeStreamLayer_.writeDataToParentLayer(data);
}
}
diff --git a/src/com/isode/stroke/streamstack/HighLayer.java b/src/com/isode/stroke/streamstack/HighLayer.java
index 1ff36e1..c95e21f 100644
--- a/src/com/isode/stroke/streamstack/HighLayer.java
+++ b/src/com/isode/stroke/streamstack/HighLayer.java
@@ -9,7 +9,7 @@
*/
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
/**
* Because of the lack of multiple inheritance in Java, this has to be done
@@ -18,7 +18,7 @@ import com.isode.stroke.base.ByteArray;
*/
public interface HighLayer {
- void handleDataRead(ByteArray data);
+ void handleDataRead(SafeByteArray data);
/* Should be protected */
@@ -26,6 +26,6 @@ public interface HighLayer {
void setChildLayer(LowLayer childLayer);
- void writeDataToChildLayer(ByteArray data);
+ void writeDataToChildLayer(SafeByteArray data);
}
diff --git a/src/com/isode/stroke/streamstack/LowLayer.java b/src/com/isode/stroke/streamstack/LowLayer.java
index dcead38..37b04d4 100644
--- a/src/com/isode/stroke/streamstack/LowLayer.java
+++ b/src/com/isode/stroke/streamstack/LowLayer.java
@@ -9,7 +9,7 @@
*/
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
/**
* Because of the lack of multiple inheritance in Java, this has to be done
@@ -18,7 +18,7 @@ import com.isode.stroke.base.ByteArray;
*/
public interface LowLayer {
- void writeData(ByteArray data);
+ void writeData(SafeByteArray data);
/* Should be protected */
@@ -26,5 +26,5 @@ public interface LowLayer {
void setParentLayer(HighLayer parentLayer);
- void writeDataToParentLayer(ByteArray data);
+ void writeDataToParentLayer(SafeByteArray data);
}
diff --git a/src/com/isode/stroke/streamstack/StreamLayer.java b/src/com/isode/stroke/streamstack/StreamLayer.java
index ac9538b..a947400 100644
--- a/src/com/isode/stroke/streamstack/StreamLayer.java
+++ b/src/com/isode/stroke/streamstack/StreamLayer.java
@@ -9,7 +9,7 @@
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
/**
* Because of the lack of multiple inheritance in Java, this implements
@@ -26,7 +26,7 @@ public abstract class StreamLayer implements LowLayer, HighLayer {
this.parentLayer = parentLayer;
}
- public void writeDataToParentLayer(final ByteArray data) {
+ public void writeDataToParentLayer(final SafeByteArray data) {
assert parentLayer != null;
parentLayer.handleDataRead(data);
}
@@ -39,7 +39,7 @@ public abstract class StreamLayer implements LowLayer, HighLayer {
this.childLayer = childLayer;
}
- public void writeDataToChildLayer(final ByteArray data) {
+ public void writeDataToChildLayer(final SafeByteArray data) {
assert childLayer != null;
childLayer.writeData(data);
}
diff --git a/src/com/isode/stroke/streamstack/StreamStack.java b/src/com/isode/stroke/streamstack/StreamStack.java
index 08f986c..96fe2fd 100644
--- a/src/com/isode/stroke/streamstack/StreamStack.java
+++ b/src/com/isode/stroke/streamstack/StreamStack.java
@@ -49,4 +49,4 @@ public class StreamStack {
private XMPPLayer xmppLayer_;
private LowLayer physicalLayer_;
private List<StreamLayer> layers_ = new ArrayList<StreamLayer>();
-}
+} \ No newline at end of file
diff --git a/src/com/isode/stroke/streamstack/TLSLayer.java b/src/com/isode/stroke/streamstack/TLSLayer.java
index 70bcd1a..8244766 100644
--- a/src/com/isode/stroke/streamstack/TLSLayer.java
+++ b/src/com/isode/stroke/streamstack/TLSLayer.java
@@ -11,7 +11,7 @@ package com.isode.stroke.streamstack;
import java.util.List;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
import com.isode.stroke.signals.Signal;
import com.isode.stroke.signals.Slot1;
import com.isode.stroke.tls.Certificate;
@@ -24,15 +24,15 @@ public class TLSLayer extends StreamLayer {
public TLSLayer(TLSContextFactory factory) {
context = factory.createTLSContext();
- context.onDataForNetwork.connect(new Slot1<ByteArray>() {
+ context.onDataForNetwork.connect(new Slot1<SafeByteArray>() {
- public void call(ByteArray p1) {
+ public void call(SafeByteArray p1) {
writeDataToChildLayer(p1);
}
});
- context.onDataForApplication.connect(new Slot1<ByteArray>() {
+ context.onDataForApplication.connect(new Slot1<SafeByteArray>() {
- public void call(ByteArray p1) {
+ public void call(SafeByteArray p1) {
writeDataToParentLayer(p1);
}
});
@@ -44,11 +44,11 @@ public class TLSLayer extends StreamLayer {
context.connect();
}
- public void writeData(ByteArray data) {
+ public void writeData(SafeByteArray data) {
context.handleDataFromApplication(data);
}
- public void handleDataRead(ByteArray data) {
+ public void handleDataRead(SafeByteArray data) {
context.handleDataFromNetwork(data);
}
@@ -72,7 +72,7 @@ public class TLSLayer extends StreamLayer {
return context;
}
- public final Signal onError = new Signal();
+ public final Signal onError = new Signal();//needs port
public final Signal onConnected = new Signal();
private final TLSContext context;
diff --git a/src/com/isode/stroke/streamstack/WhitespacePingLayer.java b/src/com/isode/stroke/streamstack/WhitespacePingLayer.java
index 53c360a..3a1805c 100644
--- a/src/com/isode/stroke/streamstack/WhitespacePingLayer.java
+++ b/src/com/isode/stroke/streamstack/WhitespacePingLayer.java
@@ -9,7 +9,7 @@
*/
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
import com.isode.stroke.network.Timer;
import com.isode.stroke.network.TimerFactory;
import com.isode.stroke.signals.Slot;
@@ -28,17 +28,17 @@ public class WhitespacePingLayer extends StreamLayer {
});
}
- public void writeData(ByteArray data) {
+ public void writeData(SafeByteArray data) {
writeDataToChildLayer(data);
}
- public void handleDataRead(ByteArray data) {
+ public void handleDataRead(SafeByteArray data) {
writeDataToParentLayer(data);
}
private void handleTimerTick() {
timer.stop();
- writeDataToChildLayer(new ByteArray(" "));
+ writeDataToChildLayer(new SafeByteArray(" "));
timer.start();
}
diff --git a/src/com/isode/stroke/streamstack/XMPPLayer.java b/src/com/isode/stroke/streamstack/XMPPLayer.java
index 4e7a265..6d14b9b 100644
--- a/src/com/isode/stroke/streamstack/XMPPLayer.java
+++ b/src/com/isode/stroke/streamstack/XMPPLayer.java
@@ -4,7 +4,7 @@
*/
package com.isode.stroke.streamstack;
-import com.isode.stroke.base.ByteArray;
+import com.isode.stroke.base.SafeByteArray;
import com.isode.stroke.elements.Element;
import com.isode.stroke.elements.ProtocolHeader;
import com.isode.stroke.elements.StreamType;
@@ -25,8 +25,8 @@ import com.isode.stroke.signals.Signal1;
public class XMPPLayer implements HighLayer, XMPPParserClient {
public final Signal1<ProtocolHeader> onStreamStart = new Signal1<ProtocolHeader>();
public final Signal1<Element> onElement = new Signal1<Element>();
- public final Signal1<ByteArray> onWriteData = new Signal1<ByteArray>();
- public final Signal1<ByteArray> onDataRead = new Signal1<ByteArray>();
+ public final Signal1<SafeByteArray> onWriteData = new Signal1<SafeByteArray>();
+ public final Signal1<SafeByteArray> onDataRead = new Signal1<SafeByteArray>();
public final Signal onError = new Signal();
private PayloadParserFactoryCollection payloadParserFactories_;
@@ -59,19 +59,19 @@ public class XMPPLayer implements HighLayer, XMPPParserClient {
}
public void writeHeader(ProtocolHeader header) {
- writeDataInternal(new ByteArray(xmppSerializer_.serializeHeader(header)));
+ writeDataInternal(new SafeByteArray(xmppSerializer_.serializeHeader(header)));
}
public void writeFooter() {
- writeDataInternal(new ByteArray(xmppSerializer_.serializeFooter()));
+ writeDataInternal(new SafeByteArray(xmppSerializer_.serializeFooter()));
}
public void writeElement(Element element) {
- writeDataInternal(new ByteArray(xmppSerializer_.serializeElement(element)));
+ writeDataInternal(new SafeByteArray(xmppSerializer_.serializeElement(element)));
}
public void writeData(String data) {
- writeDataInternal(new ByteArray(data));
+ writeDataInternal(new SafeByteArray(data));
}
public void resetParser() {
@@ -87,11 +87,11 @@ public class XMPPLayer implements HighLayer, XMPPParserClient {
* Should be protected, but can't because of interface implementation.
* @param data
*/
- public void handleDataRead(ByteArray data) {
+ public void handleDataRead(SafeByteArray data) {
handleDataReadInternal(data);
}
- protected void writeDataInternal(ByteArray data) {
+ protected void writeDataInternal(SafeByteArray data) {
onWriteData.emit(data);
writeDataToChildLayer(data);
}
@@ -115,16 +115,16 @@ public class XMPPLayer implements HighLayer, XMPPParserClient {
/* Multiple-inheritance workarounds */
private StreamLayer fakeStreamLayer_ = new StreamLayer() {
- public void writeData(ByteArray data) {
+ public void writeData(SafeByteArray data) {
throw new UnsupportedOperationException("Not supported yet.");
}
- public void handleDataRead(ByteArray data) {
+ public void handleDataRead(SafeByteArray data) {
handleDataReadInternal(data);
}
};
- private void handleDataReadInternal(ByteArray data) {
+ private void handleDataReadInternal(SafeByteArray data) {
onDataRead.emit(data);
inParser_ = true;
if(!xmppParser_.parse(data.toString())) {
@@ -146,7 +146,7 @@ public class XMPPLayer implements HighLayer, XMPPParserClient {
fakeStreamLayer_.setChildLayer(childLayer);
}
- public void writeDataToChildLayer(ByteArray data) {
+ public void writeDataToChildLayer(SafeByteArray data) {
fakeStreamLayer_.writeDataToChildLayer(data);
}
}