We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compression is currently defined as
Compression
data Compression = Compression { compressionId :: CompressionId , compress :: Lazy.ByteString -> Lazy.ByteString , decompress :: Lazy.ByteString -> Lazy.ByteString }
The type of decompress should instead be
decompress
data Compression = Compression { compressionId :: CompressionId , compress :: Lazy.ByteString -> Lazy.ByteString , decompress :: Lazy.ByteString -> Either DecompresionFailure Lazy.ByteString }
And these decompression failures then need to propagate everywhere, and the specific instances of Compression (such as gzip) need to be modified.
gzip
The text was updated successfully, but these errors were encountered:
Lowering the priority of this issue to low, since the probability that a peer sends us messages that have compression errors in them is very low.
If we implement this, we should think about whether the difficulty of streaming decompression whilst checking for errors is relevant or not (@FinleyMcIlwaine has some discussion of this issue at https://hackage.haskell.org/package/snappy-c-0.1.0/docs/Codec-Compression-SnappyC-Framed.html#v:decompressWithParams-39-).
Sorry, something went wrong.
No branches or pull requests
Compression
is currently defined asThe type of
decompress
should instead beAnd these decompression failures then need to propagate everywhere, and the specific instances of
Compression
(such asgzip
) need to be modified.The text was updated successfully, but these errors were encountered: