|
Lines 33-47
Link Here
|
| 33 |
* Definitions for fifolog "protocol": the on-media layout. |
33 |
* Definitions for fifolog "protocol": the on-media layout. |
| 34 |
* |
34 |
* |
| 35 |
* The fifolog on-media record has three layers: |
35 |
* The fifolog on-media record has three layers: |
| 36 |
* The outher timestamping and synchronization layer. |
36 |
* The outer timestamping and synchronization layer. |
| 37 |
* The zlib implemented data compression |
37 |
* The zlib implemented data compression |
| 38 |
* The inner sequencing and identification layer. |
38 |
* The inner sequencing and identification layer. |
| 39 |
* |
39 |
* |
| 40 |
* All three layers are synchronized at a subset of the outher layer |
40 |
* All three layers are synchronized at a subset of the outer layer |
| 41 |
* record boundaries, from where reading can be initiated. |
41 |
* record boundaries, from where reading can be initiated. |
| 42 |
* |
42 |
* |
| 43 |
* |
43 |
* |
| 44 |
* The outher layer: |
44 |
* The outer layer: |
| 45 |
* ----------------- |
45 |
* ----------------- |
| 46 |
* The first record in a fifolog contains a magic string and version |
46 |
* The first record in a fifolog contains a magic string and version |
| 47 |
* information along with a 32be encoded recordsize for all records |
47 |
* information along with a 32be encoded recordsize for all records |
|
Lines 55-61
Link Here
|
| 55 |
* 0 32be sequence_number |
55 |
* 0 32be sequence_number |
| 56 |
* The sequence number is randomly chosen for the |
56 |
* The sequence number is randomly chosen for the |
| 57 |
* fifolog and increments once for each record written. |
57 |
* fifolog and increments once for each record written. |
| 58 |
* It's precense allow quick identification of the next |
58 |
* It's presence allow quick identification of the next |
| 59 |
* record to be written using a binary search for the |
59 |
* record to be written using a binary search for the |
| 60 |
* first place where a discontinuity in the sequence |
60 |
* first place where a discontinuity in the sequence |
| 61 |
* numbers occur. |
61 |
* numbers occur. |
|
Lines 89-102
Link Here
|
| 89 |
* In most cases, the timer will expire before zlib has filled an entire |
89 |
* In most cases, the timer will expire before zlib has filled an entire |
| 90 |
* record in which case Z_SYNC_FLUSH will be used to force as much as |
90 |
* record in which case Z_SYNC_FLUSH will be used to force as much as |
| 91 |
* possible into the buffer before it is written. This is not marked |
91 |
* possible into the buffer before it is written. This is not marked |
| 92 |
* in outher layer (apart from a natural correlation with padding) since |
92 |
* in outer layer (apart from a natural correlation with padding) since |
| 93 |
* zlibs data stream handles this without help. |
93 |
* zlibs data stream handles this without help. |
| 94 |
* |
94 |
* |
| 95 |
* |
95 |
* |
| 96 |
* The inner layer: |
96 |
* The inner layer: |
| 97 |
* ---------------- |
97 |
* ---------------- |
| 98 |
* The inner layer contains data indentification and to the second |
98 |
* The inner layer contains data identification and to the second |
| 99 |
* timestamping (the timestamp in the outherlayer only marks the |
99 |
* timestamping (the timestamp in the outer layer only marks the |
| 100 |
* first possible timestamp for content in the SYNC record). |
100 |
* first possible timestamp for content in the SYNC record). |
| 101 |
* |
101 |
* |
| 102 |
* offset type contents |
102 |
* offset type contents |
|
Lines 113-119
Link Here
|
| 113 |
* 4 32be time_t containing POSIX's understanding of UTC. |
113 |
* 4 32be time_t containing POSIX's understanding of UTC. |
| 114 |
* |
114 |
* |
| 115 |
* Then follows the content, either as a NUL terminated string or as |
115 |
* Then follows the content, either as a NUL terminated string or as |
| 116 |
* a lenght encoded binary sequence: |
116 |
* a length encoded binary sequence: |
| 117 |
* |
117 |
* |
| 118 |
* If (ident & FIFOLOG_LENGTH) the record is prefixed by: |
118 |
* If (ident & FIFOLOG_LENGTH) the record is prefixed by: |
| 119 |
* {0|4} 8 length of binary data |
119 |
* {0|4} 8 length of binary data |