fpZip: Dekompression
Beim Extrahieren aus einem ZIP-Archiv kann die Dekompression für jede Datei unabhängig
voneinander durchgeführt werden.
fpZip erzeugt für jede zu dekomprimierende Datei einen asynchronen Vorgang, sobald ihre
komprimierten Daten in den Speicher gelesen werden. Der Pseudocode
in einer asynchronen Programmiersprache ist wie folgt:
ExtractArchive(archive)
{
Memory inMemory;
ReadFile(archive, inMemory);
Memory outMemory[archive.fileCount];
for (i = 0; i < archive.fileCount; ++i)
Decompress(archive.file[i], inMemory, outMemory[i]);
}
Decompress(file, inMemory, outMemory)
{
Inflate(inMemory, outMemory);
crc = CRC32(outMemory);
WriteFile(file, outMemory);
FileCheck(crc);
}
Somit erhält man folgendes Abhängigkeitsdiagramm:
|