summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@vespa.ai>2024-02-21 16:01:09 +0100
committerGitHub <noreply@github.com>2024-02-21 16:01:09 +0100
commitc8ef0c31e8f489d49d2140f242443d17dcce7054 (patch)
treeae3beac3e99b14a3ca8e980c937074d8791a11d0 /document
parent167d884c56852527bdfa93f266c07dd5d540885d (diff)
parent899e0389a2aa9bd2abb2ef7c74a541e348199923 (diff)
Merge pull request #30300 from vespa-engine/vekterli/documentapi-over-protobuf
Add new Protobuf-based MessageBus DocumentAPI protocol
Diffstat (limited to 'document')
-rw-r--r--document/abi-spec.json4
-rw-r--r--document/src/main/java/com/yahoo/document/Document.java2
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/DocumentDeserializer.java3
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/DocumentSerializer.java2
-rw-r--r--document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer6.java5
5 files changed, 14 insertions, 2 deletions
diff --git a/document/abi-spec.json b/document/abi-spec.json
index 899c107a242..ca06e2547d7 100644
--- a/document/abi-spec.json
+++ b/document/abi-spec.json
@@ -2724,7 +2724,8 @@
"abstract"
],
"methods" : [
- "public abstract com.yahoo.io.GrowableByteBuffer getBuf()"
+ "public abstract com.yahoo.io.GrowableByteBuffer getBuf()",
+ "public abstract com.yahoo.document.DocumentTypeManager getTypeRepo()"
],
"fields" : [ ]
},
@@ -3015,6 +3016,7 @@
],
"methods" : [
"public final com.yahoo.document.DocumentTypeManager getDocumentTypeManager()",
+ "public com.yahoo.document.DocumentTypeManager getTypeRepo()",
"public void read(com.yahoo.document.Document)",
"public void read(com.yahoo.vespa.objects.FieldBase, com.yahoo.document.Document)",
"public void read(com.yahoo.vespa.objects.FieldBase, com.yahoo.document.datatypes.FieldValue)",
diff --git a/document/src/main/java/com/yahoo/document/Document.java b/document/src/main/java/com/yahoo/document/Document.java
index 4bb93426994..294750f40f3 100644
--- a/document/src/main/java/com/yahoo/document/Document.java
+++ b/document/src/main/java/com/yahoo/document/Document.java
@@ -123,6 +123,7 @@ public class Document extends StructuredFieldValue {
}
public int getSerializedSize() throws SerializationException {
+ // TODO shouldn't this be createHead()?
DocumentSerializer data = DocumentSerializerFactory.create6(new GrowableByteBuffer(64 * 1024, 2.0f));
data.write(this);
return data.getBuf().position();
@@ -135,6 +136,7 @@ public class Document extends StructuredFieldValue {
public final int getApproxSize() { return 4096; }
public void serialize(OutputStream out) throws SerializationException {
+ // TODO shouldn't this be createHead()?
DocumentSerializer writer = DocumentSerializerFactory.create6(new GrowableByteBuffer(64 * 1024, 2.0f));
writer.write(this);
GrowableByteBuffer data = writer.getBuf();
diff --git a/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializer.java b/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializer.java
index 59849d88c28..f6e3a75c7b2 100644
--- a/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializer.java
+++ b/document/src/main/java/com/yahoo/document/serialization/DocumentDeserializer.java
@@ -1,6 +1,7 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.document.serialization;
+import com.yahoo.document.DocumentTypeManager;
import com.yahoo.io.GrowableByteBuffer;
/**
@@ -17,5 +18,7 @@ public interface DocumentDeserializer extends DocumentReader, DocumentUpdateRead
*/
GrowableByteBuffer getBuf();
+ DocumentTypeManager getTypeRepo();
+
}
diff --git a/document/src/main/java/com/yahoo/document/serialization/DocumentSerializer.java b/document/src/main/java/com/yahoo/document/serialization/DocumentSerializer.java
index 9d52bc4aead..faaad95d5e1 100644
--- a/document/src/main/java/com/yahoo/document/serialization/DocumentSerializer.java
+++ b/document/src/main/java/com/yahoo/document/serialization/DocumentSerializer.java
@@ -15,6 +15,6 @@ public interface DocumentSerializer extends DocumentWriter, SpanNodeWriter, Anno
/**
* Returns the underlying buffer used for serialization.
*/
- public GrowableByteBuffer getBuf();
+ GrowableByteBuffer getBuf();
}
diff --git a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer6.java b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer6.java
index 5f24a2d8f60..b508f0d2c7c 100644
--- a/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer6.java
+++ b/document/src/main/java/com/yahoo/document/serialization/VespaDocumentDeserializer6.java
@@ -91,6 +91,11 @@ public class VespaDocumentDeserializer6 extends BufferSerializer implements Docu
final public DocumentTypeManager getDocumentTypeManager() { return manager; }
+ @Override
+ public DocumentTypeManager getTypeRepo() {
+ return manager;
+ }
+
public void read(Document document) {
read(null, document);
}