Coro::Storable - offer a more fine-grained Storable interface
use Coro::Storable;
This module implements a few functions from the Storable module in a way so that it cede's more often. Some applications (such as the Crossfire game server) sometimes need to load large Storable objects without blocking the server for a long time.
As it seems that Storable is not reentrant, this module also serialises calls to freeze and thaw between coroutines.
Retrieve an object from the given $pst, which must have been created with Coro::Storable::freeze or Storable::store_fd/Storable::store (sorry, but Storable uses incompatible formats for disk/mem objects).
Coro::Storable::freeze
Storable::store_fd
Storable::store
This works by calling Coro::cede for every 4096 bytes read in.
Coro::cede
Freeze the given scalar into a Storable object. It uses the same format as Storable::nstore_fd (note the n).
Storable::nstore_fd
n
This works by calling Coro::cede for every write that Storable issues. Unfortunately, Storable often makes many very small writes, so it is rather inefficient. But it does keep the latency low.
Marc Lehmann <schmorp@schmorp.de> http://home.schmorp.de/
To install Coro, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Coro
CPAN shell
perl -MCPAN -e shell install Coro
For more information on module installation, please visit the detailed CPAN module installation guide.