Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avuserow/perl6-compress-snappy

Perl6 bindings to (de)compress data in Google's Snappy compression format
https://github.com/avuserow/perl6-compress-snappy

Last synced: 2 months ago
JSON representation

Perl6 bindings to (de)compress data in Google's Snappy compression format

Awesome Lists containing this project

README

        

# NAME

Compress::Snappy - (de)compress data in Google's Snappy compression format

# INSTALLATION

`libsnappy-dev` or equivalent needs to be installed for this to
work. Issue

sudo apt-get install libsnappy-dev

or equivalent order in other operatins systems or distros to do so.

# SYNOPSIS

```perl6
my Buf $compressed = Compress::Snappy::compress("hello, world");
my Bool $valid = Compress::Snappy::validate($compressed);
my Buf $decompressed = Compress::Snappy::decompress($compressed);
```

See also examples/test.p6

# DESCRIPTION

This module uses NativeCall to provide bindings to the C API for libsnappy, a
compression library with an emphasis on speed over compression.

# FUNCTIONS

## Compress::Snappy::compress(Blob $uncompressed) returns Buf

Main compression function. Returns a Buf of compressed data.

## Compress::Snappy::compress(Str $uncompressed, Str $encoding = 'utf-8') returns Buf

Convenience function to make a Str to an encoded Blob and compress that.
Encoding defaults to utf-8 if not specified.

## Compress::Snappy::decompress(Blob $compressed, Str $encoding)

Decompress provided data to a Buf. If an optional $encoding is
specified, will decode the Buf and return a Str instead.

## Compress::Snappy::validate(Blob $compressed) returns Bool

Returns if the compressed data is valid, without fully decompressing it.

# SEE ALSO

[Snappy on Google Code](https://code.google.com/p/snappy/)

[Snappy on GitHub](https://github.com/google/snappy)