From 28a575ed55286ed0b1610b3121d1184f41d1c1a9 Mon Sep 17 00:00:00 2001 From: "Evgeny @ SimpleX Chat" <259188159+evgeny-simplex@users.noreply.github.com> Date: Sat, 11 Apr 2026 16:22:51 +0000 Subject: [PATCH] agent: export decompressedSize --- src/Simplex/Messaging/Compression.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Simplex/Messaging/Compression.hs b/src/Simplex/Messaging/Compression.hs index 20000ded38..634542500f 100644 --- a/src/Simplex/Messaging/Compression.hs +++ b/src/Simplex/Messaging/Compression.hs @@ -7,6 +7,7 @@ module Simplex.Messaging.Compression compressionLevel, compress1, decompress1, + decompressedSize, ) where import qualified Codec.Compression.Zstd as Z1 @@ -42,6 +43,11 @@ compress1 bs | B.length bs <= maxLengthPassthrough = Passthrough bs | otherwise = Compressed . Large $ Z1.compress compressionLevel bs +decompressedSize :: Compressed -> Maybe Int +decompressedSize = \case + Passthrough bs -> Just $ B.length bs + Compressed (Large bs) -> Z1.decompressedSize bs + decompress1 :: Int -> Compressed -> Either String ByteString decompress1 limit = \case Passthrough bs -> Right bs