# HG changeset patch # User ods15 # Date 1139284991 0 # Node ID 1146999301366473b71487bc53b372711ab00c38 # Parent d878e3e313eb21819e7069034c7fb8b1f56dc6ca Allow headers to be repeated anywhere diff -r d878e3e313eb -r 114699930136 DOCS/tech/mpcf.txt --- a/DOCS/tech/mpcf.txt Tue Feb 07 01:36:32 2006 +0000 +++ b/DOCS/tech/mpcf.txt Tue Feb 07 04:03:11 2006 +0000 @@ -1,5 +1,5 @@ ======================================== -NUT Open Container Format DRAFT 20060203 +NUT Open Container Format DRAFT 20060207 ======================================== @@ -680,10 +680,15 @@ headers may be repeated, but if they are, then they MUST all be repeated together and repeated headers MUST be identical -headers MAY only repeat at the closest possible positions after 2^x where x is + +Each set of repeated headers not at the beginning or end of the file SHOULD +be stored at the earliest possible position after 2^x where x is an integer and the file end, so the headers may be repeated at 4102 if that is the closest position after 2^12=4096 at which the headers can be placed +Note: this allows an implementation reading the file to locate backup +headers in O(log filesize) time as opposed to O(filesize) + headers MUST be placed at least at the start of the file and immediately before the index or at the file end if there is no index headers MUST be repeated at least twice (so they exist three times in a file)