summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTarun Gupta <tarun1995gupta@gmail.com>2015-07-15 23:49:56 (GMT)
committerNick Hudson <nick.hudson@isode.com>2015-07-28 15:42:52 (GMT)
commit251813ccca9404d8d4122b2848f9fec86a451bf5 (patch)
treea1ebb0f6a04547ef6b588ea85c1a50ea5d8e4997 /src/com/isode/stroke/session
parent673655830b0325d964e67fa835ea83f485e9beeb (diff)
downloadstroke-251813ccca9404d8d4122b2848f9fec86a451bf5.zip
stroke-251813ccca9404d8d4122b2848f9fec86a451bf5.tar.bz2
Completes Components and AdHoc.
Adds Component, ComponentConnector, ComponentError, ComponentSession, ComponentXMLTracer, CoreComponent, ComponentSessionStanzaChannel, ComponentXMTracer, CoreComponent. Updates CoreClient, StrokeGUI, BasicSessionStream and SessionStream and Client, so that signal definition can be changed. Updates ComponentHandshake element, Entity. Updates OutgoingAdHocCommandSession to have feature parity with Swiften. This patch does not port Client or Session fully, which will be done in separate future patches. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for ComponentSession, which passes. Test for ComponentConnector cannot be ported right now and will be done in future patches, as it requires some bits of Network to be ported. Change-Id: I7138a2041fe28a2be7ac57cb47b15365f9334b24
Diffstat (limited to 'src/com/isode/stroke/session')
-rw-r--r--src/com/isode/stroke/session/BasicSessionStream.java12
-rw-r--r--src/com/isode/stroke/session/SessionStream.java7
2 files changed, 13 insertions, 6 deletions
diff --git a/src/com/isode/stroke/session/BasicSessionStream.java b/src/com/isode/stroke/session/BasicSessionStream.java
index 4f0e75b..9ba862d 100644
--- a/src/com/isode/stroke/session/BasicSessionStream.java
+++ b/src/com/isode/stroke/session/BasicSessionStream.java
@@ -175,6 +175,10 @@ public class BasicSessionStream extends SessionStream {
return tlsLayer.getContext().getFinishMessage();
}
+ public boolean supportsZLibCompression() {
+ return true;
+ }
+
public void addZLibCompression() {
compressionLayer = new CompressionLayer();
streamStack.addLayer(compressionLayer);
@@ -232,12 +236,12 @@ public class BasicSessionStream extends SessionStream {
}
}
- private void handleDataRead(ByteArray data) {
- onDataRead.emit(data.toString());
+ private void handleDataRead(SafeByteArray data) {
+ onDataRead.emit(data);
}
- private void handleDataWritten(ByteArray data) {
- onDataWritten.emit(data.toString());
+ private void handleDataWritten(SafeByteArray data) {
+ onDataWritten.emit(data);
}
@Override
public String toString() {
diff --git a/src/com/isode/stroke/session/SessionStream.java b/src/com/isode/stroke/session/SessionStream.java
index 2b9932b..3171ec0 100644
--- a/src/com/isode/stroke/session/SessionStream.java
+++ b/src/com/isode/stroke/session/SessionStream.java
@@ -10,6 +10,7 @@ package com.isode.stroke.session;
import java.util.List;
+import com.isode.stroke.base.SafeByteArray;
import com.isode.stroke.base.ByteArray;
import com.isode.stroke.elements.Element;
import com.isode.stroke.elements.ProtocolHeader;
@@ -50,6 +51,8 @@ public abstract class SessionStream {
public abstract void writeData(String data);
+ public abstract boolean supportsZLibCompression();
+
public abstract void addZLibCompression();
public abstract boolean supportsTLSEncryption();
@@ -81,8 +84,8 @@ public abstract class SessionStream {
public final Signal1<Element> onElementReceived = new Signal1<Element>();
public final Signal1<Error> onClosed = new Signal1<Error>();
public final Signal onTLSEncrypted = new Signal();
- public final Signal1<String> onDataRead = new Signal1<String>();
- public final Signal1<String> onDataWritten = new Signal1<String>();
+ public final Signal1<SafeByteArray> onDataRead = new Signal1<SafeByteArray>();
+ public final Signal1<SafeByteArray> onDataWritten = new Signal1<SafeByteArray>();
protected CertificateWithKey getTLSCertificate() {
return certificate;
}