Sereal::Merger in master

13 views
Skip to first unread message

Ivan Kruglov

unread,
Nov 5, 2014, 4:13:28 PM11/5/14
to serea...@googlegroups.com
Hi

I've just merger Sereal::Merger into master. Sereal::Merger is not production ready, but it's already capable of producing meaningful result. So, I've merged it to let other people play with it.

Here is the brief list of topics to do/improve:
    - zlib compression/decompression
    - error handling
    - remove MRG2ENC casting (make functions in srl_buffer.h) get srl_buffer_t*
    - dedupe srl_read_varint-* functions and perhaps other common code with Encoder, Decoder (like parse/write Sereal document header)
    - more tests
    - documentation
    - add support of optional user-headers
    - Sereal::Merger is not compilable under threaded perl due to wrong usage of PERL_HASH_SEED in strtable.h
    - wrap-functions like merge_sereal, merge_sereal_all, etc...
    - control of recursion depth

For those, who hear Sereal::Merger first time, it is a project providing ability to merge two Sereal documents into single one without reserialization cycle (i.e. without deserialization + serialization) in Perl. For more info and details about the interface check out https://github.com/Sereal/Sereal/issues/69.

Cheers,
Ivan.

ivan.k...@yahoo.com

unread,
Nov 5, 2014, 4:17:56 PM11/5/14
to serea...@googlegroups.com
Simple code example:

# @data contains list of Sereal blobs
my $merger = Sereal::Merger->new({ dedupe_strings => 1 });
$merger->append_all(\@data);
my $merged_data = $merger->finish();

Ivan.

среда, 5 ноября 2014 г., 22:13:28 UTC+1 пользователь Ivan Kruglov написал:
Reply all
Reply to author
Forward
0 new messages