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