aboutsummaryrefslogtreecommitdiffstats
path: root/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-01-29 15:14:22 +0000
committerArne Juul <arnej@verizonmedia.com>2021-02-01 08:48:43 +0000
commita0491a1d83c334c3c2f370d2ca2b905874400220 (patch)
treea4c245dcaf5ecf75d7e50b32c6aa5a8ced16c437 /document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java
parent4b270e67b464994a73b65feaf1f4382fdeb02fdd (diff)
keep serialized tensor in TensorFieldValue
* do lazy deserialization in getTensor() and getTensorType() * avoid re-serializing when forwarding a TensorFieldValue
Diffstat (limited to 'document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java')
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java
index 3fca853b4d1..1a5c5c8257b 100644
--- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java
+++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentSerializer6.java
@@ -290,10 +290,10 @@ public class VespaDocumentSerializer6 extends BufferSerializer implements Docume
@Override
public void write(FieldBase field, TensorFieldValue value) {
- if (value.getTensor().isPresent()) {
- byte[] encodedTensor = TypedBinaryFormat.encode(value.getTensor().get());
- buf.putInt1_4Bytes(encodedTensor.length);
- buf.put(encodedTensor);
+ var encodedTensor = value.getSerializedTensor();
+ if (encodedTensor.isPresent()) {
+ buf.putInt1_4Bytes(encodedTensor.get().length);
+ buf.put(encodedTensor.get());
} else {
buf.putInt1_4Bytes(0);
}