NAME¶
AnyEvent::Serialize - async serialize/deserialize function
SYNOPSIS¶
use AnyEvent::Serialize ':all';
use AnyEvent::Serialize 'serialize';
use AnyEvent::Serialize 'deserialize';
use AnyEvent::Serialize ... block_size => 666;
serialize $object, sub { ($str, $recursion_detected) = @_ };
deserialize $string, sub { my ($object, $error, $tail) = @_ }
DESCRIPTION¶
Sometimes You need to serialize/deserialize a lot of data. If You do it using
Data::Dumper or
eval it can take You too much time. This module splits
(de)serialization process into fixed-size parts and does this work in
non-blocking mode.
This module uses Data::StreamSerializer and Data::StreamDeserializer to
serialize or deserialize Your data.
EXPORT¶
serialize($object, $result_callback)¶
Serializes Your object. When serialization is done it will call
$result_callback . This callback receives two arguments:
- result string
- flag if recursion is detected
deserialize($str, $result_callback)¶
Deserializes Your string. When deserialization is done or an error is detected
it will call
$result_callback. This callback receives
three arguments:
- deserialized object
- error string (if an error was occured)
- undeserialized string tail
BREAKING¶
You can break serialization/deserialization process if You save value that is
returned by functions serialize/deserialize. They return guards if they are
called in non-void context.
SEE ALSO¶
Data::StreamSerializer, Data::StreamDeserializer.
AUTHOR¶
Dmitry E. Oboukhov, <unera@debian.org>
COPYRIGHT AND LICENSE¶
Copyright (C) 2011 by Dmitry E. Oboukhov
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself, either Perl version 5.10.1 or, at your option,
any later version of Perl 5 you may have available.