diff options
Diffstat (limited to 'src/com/isode/stroke/network')
-rw-r--r-- | src/com/isode/stroke/network/Connection.java | 6 | ||||
-rw-r--r-- | src/com/isode/stroke/network/JavaConnection.java | 13 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/com/isode/stroke/network/Connection.java b/src/com/isode/stroke/network/Connection.java index dbda1b7..b0e4799 100644 --- a/src/com/isode/stroke/network/Connection.java +++ b/src/com/isode/stroke/network/Connection.java @@ -9,7 +9,7 @@ */ package com.isode.stroke.network; -import com.isode.stroke.base.ByteArray; +import com.isode.stroke.base.SafeByteArray; import com.isode.stroke.signals.Signal; import com.isode.stroke.signals.Signal1; @@ -30,11 +30,11 @@ public abstract class Connection { public abstract void disconnect(); - public abstract void write(ByteArray data); + public abstract void write(SafeByteArray data); public abstract HostAddressPort getLocalAddress(); public final Signal1<Boolean /*error*/> onConnectFinished = new Signal1<Boolean>(); public final Signal1<Error> onDisconnected = new Signal1<Error>(); - public final Signal1<ByteArray> onDataRead = new Signal1<ByteArray>(); + public final Signal1<SafeByteArray> onDataRead = new Signal1<SafeByteArray>(); public final Signal onDataWritten = new Signal(); } diff --git a/src/com/isode/stroke/network/JavaConnection.java b/src/com/isode/stroke/network/JavaConnection.java index 4e7503b..66f068f 100644 --- a/src/com/isode/stroke/network/JavaConnection.java +++ b/src/com/isode/stroke/network/JavaConnection.java @@ -18,6 +18,7 @@ import java.util.Collections; import java.util.List; import com.isode.stroke.base.ByteArray; +import com.isode.stroke.base.SafeByteArray; import com.isode.stroke.eventloop.Event.Callback; import com.isode.stroke.eventloop.EventLoop; import com.isode.stroke.eventloop.EventOwner; @@ -30,16 +31,16 @@ public class JavaConnection extends Connection implements EventOwner { * got closed. */ private static class ReadResult { - public ByteArray dataRead_; + public SafeByteArray dataRead_; public boolean socketClosed_; ReadResult(boolean socketClosed) { - dataRead_ = new ByteArray(); + dataRead_ = new SafeByteArray(); socketClosed_ = socketClosed; } ReadResult(ByteArrayOutputStream byteArrayOutputStream, boolean socketClosed) { - dataRead_ = new ByteArray(byteArrayOutputStream.toByteArray()); + dataRead_ = new SafeByteArray(byteArrayOutputStream.toByteArray()); socketClosed_ = socketClosed; } } @@ -95,7 +96,7 @@ public class JavaConnection extends Connection implements EventOwner { } { /* Handle any reading */ - ByteArray dataRead; + SafeByteArray dataRead; if (readNeeded) { ReadResult rr = doRead(); @@ -299,7 +300,7 @@ public class JavaConnection extends Connection implements EventOwner { } } - private void handleDataRead(final ByteArray data) { + private void handleDataRead(final SafeByteArray data) { if (synchroniseReads_) { selectionKey_.interestOps(0); } @@ -372,7 +373,7 @@ public class JavaConnection extends Connection implements EventOwner { } @Override - public void write(ByteArray data) { + public void write(SafeByteArray data) { worker_.writeBuffer_.add(data.getData()); // Check "isOpen" to Avoid Android crash see // https://code.google.com/p/android/issues/detail?id=80785 |