diff options
author | Tor Brede Vekterli <vekterli@vespa.ai> | 2024-02-21 16:01:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-21 16:01:09 +0100 |
commit | c8ef0c31e8f489d49d2140f242443d17dcce7054 (patch) | |
tree | ae3beac3e99b14a3ca8e980c937074d8791a11d0 /document | |
parent | 167d884c56852527bdfa93f266c07dd5d540885d (diff) | |
parent | 899e0389a2aa9bd2abb2ef7c74a541e348199923 (diff) |
Merge pull request #30300 from vespa-engine/vekterli/documentapi-over-protobuf
Add new Protobuf-based MessageBus DocumentAPI protocol
Diffstat (limited to 'document')
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); } |