Browse Source

ByteArrayReaderWriter updated

mip-it 10 years ago
parent
commit
81020f9b50

+ 3 - 2
src/de/tudarmstadt/informatik/hostage/handler/AbstractHandler.java

@@ -38,8 +38,9 @@ public abstract class AbstractHandler implements Runnable {
 		this.protocol = protocol;
 		this.client = client;
 		this.thread = new Thread(this);
-		//TODO attack_id für jeden Logger
-		SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(service);
+		// TODO attack_id für jeden Logger
+		SharedPreferences pref = PreferenceManager
+				.getDefaultSharedPreferences(service);
 		Editor editor = pref.edit();
 		attack_id = pref.getInt("ATTACK_ID_COUNTER", 0);
 		editor.putInt("ATTACK_ID_COUNTER", attack_id + 1);

+ 10 - 6
src/de/tudarmstadt/informatik/hostage/io/ByteArrayReaderWriter.java

@@ -2,6 +2,7 @@ package de.tudarmstadt.informatik.hostage.io;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -21,12 +22,15 @@ public class ByteArrayReaderWriter implements ReaderWriter<ByteArray> {
 
 	@Override
 	public ByteArray read() throws IOException {
-		int availableBytes;
-		while ((availableBytes = in.available()) <= 0)
-			;
-		byte[] buffer = new byte[availableBytes];
-		in.read(buffer);
-		return new ByteArray(buffer);
+		while (in.available() == 0) {
+			Thread.yield();
+		}
+		ByteArrayOutputStream os = new ByteArrayOutputStream();
+		int oneByte;
+		while ((oneByte = in.read()) != -1) {
+			os.write(oneByte);
+		}
+		return new ByteArray(os.toByteArray());
 	}
 
 	@Override