aboutsummaryrefslogtreecommitdiff
path: root/zencore/compactbinary.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-09-02 18:09:42 +0200
committerStefan Boberg <[email protected]>2021-09-02 18:09:42 +0200
commitd39db51c820360e4b1ddb6a361f92f5f6daa9954 (patch)
tree769fbfb67d95829d12da096d541d04555a531e88 /zencore/compactbinary.cpp
parentMade IoHash::Zero const, made IoHash alignment explicit (diff)
downloadzen-d39db51c820360e4b1ddb6a361f92f5f6daa9954.tar.xz
zen-d39db51c820360e4b1ddb6a361f92f5f6daa9954.zip
Added LoadCompactBinaryObject variations accepting CompressedBuffer payloads
Diffstat (limited to 'zencore/compactbinary.cpp')
-rw-r--r--zencore/compactbinary.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/zencore/compactbinary.cpp b/zencore/compactbinary.cpp
index 5f16ae9d6..cce927d5d 100644
--- a/zencore/compactbinary.cpp
+++ b/zencore/compactbinary.cpp
@@ -2,6 +2,7 @@
#include "zencore/compactbinary.h"
+#include <zencore/compress.h>
#include <zencore/endian.h>
#include <zencore/stream.h>
#include "zencore/compactbinaryvalidation.h"
@@ -1100,6 +1101,30 @@ LoadCompactBinary(BinaryReader& Ar, BufferAllocator Allocator)
return CbField(SharedBuffer(std::move(Buffer)));
}
+CbObject
+LoadCompactBinaryObject(IoBuffer&& Payload)
+{
+ return CbObject{SharedBuffer(std::move(Payload))};
+}
+
+CbObject
+LoadCompactBinaryObject(IoBuffer& Payload)
+{
+ return CbObject{SharedBuffer(Payload)};
+}
+
+CbObject
+LoadCompactBinaryObject(CompressedBuffer&& Payload)
+{
+ return CbObject{SharedBuffer(std::move(Payload.DecompressToComposite().Flatten()))};
+}
+
+CbObject
+LoadCompactBinaryObject(CompressedBuffer& Payload)
+{
+ return CbObject{SharedBuffer(std::move(Payload.DecompressToComposite().Flatten()))};
+}
+
//////////////////////////////////////////////////////////////////////////
void