aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/events
diff options
context:
space:
mode:
authorGravatar Michajlo Matijkiw <michajlo@google.com>2016-11-02 15:42:00 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2016-11-02 15:57:50 +0000
commit436800456165a60009d90ab55cce11fa10d8b756 (patch)
tree4f9e76e5326a7b29bc2008b1fcb43e5c3a916e53 /src/main/java/com/google/devtools/build/lib/events
parent3c365e102b8cc46b04ff9a2792ae14001b5240d3 (diff)
Improve overhead/safety of RecorderStream
Bypass converting bytes to string - RecordOutputStream is typically used to wrap stdout/err, which we write bytes to, the string step is waste. Make defensive copies of byte[]s passed to Event since Event doesn't. -- MOS_MIGRATED_REVID=137949714
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/events')
-rw-r--r--src/main/java/com/google/devtools/build/lib/events/ReporterStream.java8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java b/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java
index e72f4a96b9..1669fa7b62 100644
--- a/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java
+++ b/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java
@@ -14,11 +14,9 @@
package com.google.devtools.build.lib.events;
-import static java.nio.charset.StandardCharsets.ISO_8859_1;
-
import com.google.devtools.build.lib.util.Preconditions;
-
import java.io.OutputStream;
+import java.util.Arrays;
/**
* An OutputStream that delegates all writes to a Reporter.
@@ -49,11 +47,11 @@ public final class ReporterStream extends OutputStream {
@Override
public void write(byte[] bytes) {
- reporter.handle(Event.of(eventKind, null, bytes));
+ write(bytes, 0, bytes.length);
}
@Override
public void write(byte[] bytes, int offset, int len) {
- reporter.handle(Event.of(eventKind, null, new String(bytes, offset, len, ISO_8859_1)));
+ reporter.handle(Event.of(eventKind, null, Arrays.copyOfRange(bytes, offset, offset + len)));
}
}