diff --git a/DOCS/tech/mpcf.txt b/DOCS/tech/mpcf.txt index f777e1dcb1..e534634b57 100644 --- a/DOCS/tech/mpcf.txt +++ b/DOCS/tech/mpcf.txt @@ -1,5 +1,5 @@ ======================================== -NUT Open Container Format DRAFT 20060203 +NUT Open Container Format DRAFT 20060207 ======================================== @@ -680,10 +680,15 @@ stream_header (id=n) 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)