diff options
| author | Stefan Boberg <[email protected]> | 2021-09-02 18:09:42 +0200 |
|---|---|---|
| committer | Stefan Boberg <[email protected]> | 2021-09-02 18:09:42 +0200 |
| commit | d39db51c820360e4b1ddb6a361f92f5f6daa9954 (patch) | |
| tree | 769fbfb67d95829d12da096d541d04555a531e88 | |
| parent | Made IoHash::Zero const, made IoHash alignment explicit (diff) | |
| download | zen-d39db51c820360e4b1ddb6a361f92f5f6daa9954.tar.xz zen-d39db51c820360e4b1ddb6a361f92f5f6daa9954.zip | |
Added LoadCompactBinaryObject variations accepting CompressedBuffer payloads
| -rw-r--r-- | zencore/compactbinary.cpp | 25 | ||||
| -rw-r--r-- | zencore/include/zencore/compactbinary.h | 16 |
2 files changed, 30 insertions, 11 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 diff --git a/zencore/include/zencore/compactbinary.h b/zencore/include/zencore/compactbinary.h index 537f33d31..500502398 100644 --- a/zencore/include/zencore/compactbinary.h +++ b/zencore/include/zencore/compactbinary.h @@ -29,6 +29,7 @@ class CbObjectView; class CbArrayView; class BinaryReader; class BinaryWriter; +class CompressedBuffer; class DateTime { @@ -1280,17 +1281,10 @@ CbField::AsArray() && */ ZENCORE_API CbField LoadCompactBinary(BinaryReader& Ar, BufferAllocator Allocator); -inline CbObject -LoadCompactBinaryObject(IoBuffer&& Payload) -{ - return CbObject{SharedBuffer(std::move(Payload))}; -} - -inline CbObject -LoadCompactBinaryObject(IoBuffer& Payload) -{ - return CbObject{SharedBuffer(Payload)}; -} +ZENCORE_API CbObject LoadCompactBinaryObject(IoBuffer&& Payload); +ZENCORE_API CbObject LoadCompactBinaryObject(IoBuffer& Payload); +ZENCORE_API CbObject LoadCompactBinaryObject(CompressedBuffer& Payload); +ZENCORE_API CbObject LoadCompactBinaryObject(CompressedBuffer&& Payload); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |