Skip to content
FutureBlitz

    Install

    Import std.compress.lz4

    std.compress.lz4

    LZ4's frame format, of .lz4 files, over LZ4. Its Compress and Decompress work at once, and its Compressor and Decompressor take bytes in turn and give what came out of them so far, for data that comes in parts. Levels go from 1, the fastest, which is the default, to 12, the smallest: 1 is LZ4's fast mode, 2 its middle one, 3 to 9 its high-compression mode, and 10 to 12 that mode's optimal parser. Each frame has its content's checksum, and a Compress's says its size. A Decompress reads frames one after another.

    std/compress/lz4.fb

    Types

    Lz4 struct

    Public Struct Lz4

    LZ4's frames, which compress fast and decompress faster.

    std/compress/lz4.fb, line 24

    • @PanicsAtCaller Public Static Method Compress(data: UInt8[], level: Int = 1): UInt8[] static method #

      The data, compressed at the level. Panics when the level isn't from 1 to 12.

    • @PanicsAtCaller Public Static Method Decompress(data: UInt8[], limit: Int = MOST_BYTES): UInt8[] Throws IOError static method #

      The bytes the data is compressed from, each frame's after the last's, or an IOError when it isn't Lz4's, ends too soon, or would come to more than limit bytes. Panics when the limit is negative.

    Lz4Compressor class

    Public Class Lz4Compressor Implements Coder

    Lz4's bytes made in turn: Add gives what compressing the bytes it takes has made so far, and Finish what's left, which ends a frame, and starts again.

    std/compress/lz4.fb, line 54

    • @PanicsAtCaller Public New(level: Int = 1) constructor #

      Panics when the level isn't from 1 to 12.

    • Public Method Add(data: UInt8[]): UInt8[] method #

      What data comes to so far, which can be nothing yet.

      Doc from std.compress.codec.Coder.Add.

    • Public Method Finish(): UInt8[] method #

      What's left once all the bytes are added, which ends what it makes, and starts it again.

      Doc from std.compress.codec.Coder.Finish.

    Lz4Decompressor class

    Public Class Lz4Decompressor Implements Coder

    Lz4's bytes taken in turn, a frame after another: Add gives what the bytes it takes decompress to so far, and Finish what's left once they've all been added, and starts again. Each throws an IOError when the bytes aren't Lz4's or would come to more than the limit, and Finish when they end too soon.

    std/compress/lz4.fb, line 84

    • @PanicsAtCaller Public New(limit: Int = MOST_BYTES) constructor #

      Panics when the limit is negative.

    • Public Method Add(data: UInt8[]): UInt8[] Throws IOError method #

      What data comes to so far, which can be nothing yet.

      Doc from std.compress.codec.Coder.Add.

    • Public Method Finish(): UInt8[] Throws IOError method #

      What's left once all the bytes are added, which ends what it makes, and starts it again.

      Doc from std.compress.codec.Coder.Finish.

    Report an issue with this page or with FutureBlitz on GitHub.