|
Convert::yEnc::RC - yEnc file-part database |
Convert::yEnc::RC - yEnc file-part database
use Convert::yEnc::RC;
$rc = new Convert::yEnc::RC;
$rc = new Convert::yEnc::RC $file;
$ok = $rc->load; $ok = $rc->load($file);
$ok = $rc->update ($line); @files = $rc->files; @complete = $rc->complete; $complete = $rc->complete($fileName); $entry = $rc->entry ($fileName); $ok = $rc->drop ($fileName);
$rc->save;
$rc->save($file);
yEnc file-part database
A Convert::yEnc::RC object manages a database of yEnc file parts.
Applications pass the =ybegin, =ypart, and =yend lines
from yEncoded files to the object, and it keeps track of the
files, parts and bytes as they are received.
The object reports errors if the sequence of =y lines is inconsistent.
Applications can query the object to find out what files, parts, and bytes have been received, and whether a given file is complete.
The database can be be saved to and restored from disk.
The database is stored on disk as a flat ASCII file. There is one line in the database for each yEncoded file.
A line for a single-part file has 3 fields
A line for a multi-part file has 4 fields
Set::IntSpan run list
showing which bytes of the file have been recieved
Set::IntSpan run list
showing which parts of the file have been recieved
Fields are tab-delimited, so that file names may contain whitespace.
Example
a.jpg 20000 20000
b.jpg 10000 1-5000 1
Nothing.
new Convert::yEnc::RCnew Convert::yEnc::RC $fileConvert::yEnc::RC object.
If $file is supplied, initializes the database from $file.
If $file is not supplied, or doesn't exist, initializes the database to empty.
load($file)If $file can't be opened,
load does nothing and returns false.
If $file contains invalid lines, load dies.
When this happens, the state of $rc is undefined.
update($line)=begin), trailer (=end),
or part (=part) line from a yEncoded file.
Returns true iff $line is well-formed and consistent with the current state of the database.
filescompletecomplete($fileName)entry($fileName)Convert::yEnc::Entry object.
If $fileName is not in the database, return undef.
drop($fileName)If $fileName is not in the database, return false.
saveloaded.
save dies if there is an error writing the file.
save($file)save() will write to $file.
save dies if there is an error writing the file.
Steven W McDougall, <swmcd@world.std.com>
Copyright (c) 2002-2004 by Steven McDougall. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|
Convert::yEnc::RC - yEnc file-part database |