NAME
Fsdb::IO::Replayable - support for buffering fsdb rows
SYNOPSIS
Buffer and replaying fsdb rows
FUNCTIONS
new
$replayable = new Fsdb::IO::Replayable(-writer_args => \@writer_args,
-reader_args => \@reader_args);
$writer = $replayable->writer;
$replayable->close; # warning: close replayable, NOT writer
$reader = $replayable->reader;
Creates a buffer for Fsdb::IO objects that will run with bounded memory usage. After you close it, you can replay it one or more times by opening readers.
Arguments to the new method:
- -writer_args => @arref Gives arguments to pass to Fsdb::IO::Writer to make a new stream.
- -reader_args => @arref Gives arguments to pass to Fsdb::IO::Reader to make a new stream.
- -tmpdir => $dirname Specifies wher tmpfiles go.
writer
$writer = $replayable->writer;
Return a fsdb writer object. If the file was written already, resets it for rewriting.
close
$replayable->close;
Close the replayable for writing. Closes the writer object, if any. Allows reading to start.
reader
$reader = $replayable->reader;
Return a fsdb reader object to re-read the file. Can be called once.
The caller is expected to close and discard any readers.