dwww Home | Manual pages | Find package

IO::Un...Brotli(3pm)  User Contributed Perl Documentation  IO::Un...Brotli(3pm)

NAME
       IO::Uncompress::Brotli - Read Brotli buffers/streams

SYNOPSIS
         use IO::Uncompress::Brotli;

         # uncompress a buffer (yielding at most 10MB)
         my $decoded = unbro $encoded, 10_000_000;

         # uncompress a stream
         my $bro = IO::Uncompress::Brotli->create;
         while(have_input()) {
            my $block = get_input_block();
            my $decoded_block = $bro->decompress($block);
            handle_output_block($decoded_block);
         }

DESCRIPTION
       IO::Uncompress::Brotli is a module that decompresses Brotli buffers and
       streams. Despite its name, it is not a subclass of IO::Uncompress::Base
       and does not implement its interface. This will be rectified in a future
       release.

   One-shot interface
       If you have the whole buffer in a Perl scalar use the unbro function.

       unbro($input, $maximum_decoded_size)
           Takes   a   whole   compressed  buffer  as  input  and  returns  the
           decompressed   data.    It    allocates    a    buffer    of    size
           $maximum_decoded_size to store the decompressed data, if this is not
           sufficient (or there is another error) this function will croak.

           Exported by default.

   Streaming interface
       If  you  want  to  process  the  data  in blocks use the object oriented
       interface. The available methods are:

       IO::Uncompress::Brotli->create
           Returns a IO::Uncompress::Brotli instance. Please note that a single
           instance cannot be used to decompress multiple streams.

       $bro->decompress($block)
           Takes the a  block  of  compressed  data  and  returns  a  block  of
           uncompressed data. Dies on error.

SEE ALSO
       Brotli        Compressed        Data        Format       Internet-Draft:
       <https://www.ietf.org/id/draft-alakuijala-brotli-08.txt>

       Brotli source code: <https://github.com/google/brotli/>

AUTHOR
       Marius Gavrilescu, <marius@ieval.ro>

       The encoder bindings, modernisation of the decoder bindings and a  clean
       up of the overall project were contributed by:

       Quim Rovira, <quim@rovira.cat>
       Ævar Arnfjörð Bjarmason, <avarab@gmail.com>
       Marcell Szathmári
       Mattia Barbon, <mattia@barbon.org>

COPYRIGHT AND LICENSE
       Copyright (C) 2015-2018 by Marius Gavrilescu

       This  library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself, either Perl version 5.20.2  or,  at
       your option, any later version of Perl 5 you may have available.

perl v5.40.0                       2024-10-15              IO::Un...Brotli(3pm)

Generated by dwww version 1.16 on Sat Oct 3 06:00:52 CEST 2026.