Fsdb::IO::Replayable - support for buffering fsdb rows
Buffer and replaying fsdb rows
$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 = $replayable->writer;
Return a fsdb writer object. If the file was written already, resets it for rewriting.
Close the replayable for writing. Closes the writer object, if any. Allows reading to start.
$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.