Export (0) Print
Expand All

2.10 Compressed OAB Version 4 Differential Patch File

The Differential Patch file describes how to transform an outdated Full Details file into another Full Details file. During transformation, the Differential Patch file is read by the client one block at a time to determine how large a block of the original Full Details file to read, how large the output block will be, and what the compressed patch data is. The patch file starts with a patch header that contains the file format version numbers, a maximum block size value, source and target file sizes, and the source and target file CRC hash codes. The maximum block size value tells the client the maximum size it can expect to be required to read from the original Full Details file, the maximum size it can expect to have to write to the output file, and the size of the largest patch record that will be produced. Following the patch header are a series of patch blocks. The patch block contains the patch size in bytes to be read from the patch file, the size in bytes of the target block that will be produced, the size in bytes of the block to be read from the original Full Details file, and the CRC hash that the resulting output block will have. The start and end of the source and output blocks do not necessarily fall on record boundaries of the source or output files.

The Differential Patch file cannot be uncompressed by itself as it requires the original Full Details file.

The following ABNF definition shows the format of a compressed OAB version 4 Differential Patch file.

patch-file    =    PATCH_HDR 1*PATCH_BLK

Patch files are only applied against OAB version 4 Full Details files to produce the next generation of the file.

© 2015 Microsoft