diff --git a/src/explorviz/live_trace_processing/connector/TCPConnector.java b/src/explorviz/live_trace_processing/connector/TCPConnector.java index fd9346ad39eebe2e11f8e91b8814150312d09fc3..902687609b396acd5f8eac74e15e32fde89dcb7f 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) {