From 8615e1f0cec5d9e846314d37ba9cdcf152a0128f Mon Sep 17 00:00:00 2001
From: Florian Fittkau <ffi@informatik.uni-kiel.de>
Date: Wed, 29 Apr 2015 10:32:51 +0200
Subject: [PATCH] ...

---
 .../connector/TCPConnector.java               | 20 +++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/explorviz/live_trace_processing/connector/TCPConnector.java b/src/explorviz/live_trace_processing/connector/TCPConnector.java
index fd9346a..9026876 100644
--- a/src/explorviz/live_trace_processing/connector/TCPConnector.java
+++ b/src/explorviz/live_trace_processing/connector/TCPConnector.java
@@ -85,18 +85,34 @@ public class TCPConnector extends AbstractSink implements IWriter, IStringRecord
 
 	@Override
 	public void sendOutStringRecord(final StringRegistryRecord record) {
-		sendOutStringRecordOnlyIfFull(record);
+		while (!finishedSendingStrings) {
+			try {
+				Thread.sleep(1);
+			} catch (final InterruptedException e) {
+			}
+		}
+
+		if (record.getRecordSizeInBytes() > stringBuffer.remaining()) {
+			prioritizedSend(stringBuffer);
+		}
+		record.putIntoByteBuffer(stringBuffer, stringRegistry, this);
 		prioritizedSend(stringBuffer);
 	}
 
 	@Override
-	public void sendOutStringRecordOnlyIfFull(final StringRegistryRecord record) {
+	public void sendOutStringRecordAll(final StringRegistryRecord record) {
 		if (record.getRecordSizeInBytes() > stringBuffer.remaining()) {
 			prioritizedSend(stringBuffer);
 		}
 		record.putIntoByteBuffer(stringBuffer, stringRegistry, this);
 	}
 
+	@Override
+	public void sendOutStringRecordAllSingle(final StringRegistryRecord record) {
+		sendOutStringRecordAll(record);
+		prioritizedSend(stringBuffer);
+	}
+
 	@Override
 	public void processRecord(final IRecord record) {
 		if (record instanceof Trace) {
-- 
GitLab