Module Name: othersrc
Committed By: agc
Date: Sat May 7 18:17:19 UTC 2011
Modified Files:
othersrc/external/bsd/circa/dist: libcirca.3
Log Message:
minor formatting and explanation changes
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 othersrc/external/bsd/circa/dist/libcirca.3
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: othersrc/external/bsd/circa/dist/libcirca.3
diff -u othersrc/external/bsd/circa/dist/libcirca.3:1.1.1.1 othersrc/external/bsd/circa/dist/libcirca.3:1.2
--- othersrc/external/bsd/circa/dist/libcirca.3:1.1.1.1 Sat May 7 02:31:24 2011
+++ othersrc/external/bsd/circa/dist/libcirca.3 Sat May 7 18:17:19 2011
@@ -1,4 +1,4 @@
-.\" $NetBSD: libcirca.3,v 1.1.1.1 2011/05/07 02:31:24 agc Exp $
+.\" $NetBSD: libcirca.3,v 1.2 2011/05/07 18:17:19 agc Exp $
.\"
.\" Copyright (c) 2011 Alistair Crooks <[email protected]>
.\" All rights reserved.
@@ -62,7 +62,6 @@
It uses a number of methods of doing this,
and is loosely based on Cross-Interleaved Reed-Solomon Coding,
as found in CDs.
-The
.Nm
draws heavily on the
.Xr librs 3
@@ -86,6 +85,8 @@
.Dv ( 32 / 24 )
or
.Dv ( 4 / 3 )
+For encoding purposes, the encoded data is output to the next
+sector size.
.Pp
The
.Fn circa_init
@@ -108,6 +109,7 @@
The
.Nm
library performs a number of transformations, when encoding data.
+The base unit of encoded data is a sector.
These transformations are modelled on the
.Dv Cross Interleaved Reed-Solomon Coding
as used in CDs.
@@ -120,7 +122,7 @@
and
.Xr libssss 3
can be used to replicate data at a sector level,
-to say nothing of protection by other means such as RAID
+to say nothing of protection by other means such as RAID, see
.Xr raid 4 .
.Pp
A default sector is 3136 bytes in length, although
@@ -129,6 +131,15 @@
time with the
.Fa sectorsize
argument.
+The sector size must be a multiple of 32, and is the size of the
+encoded data output.
+This is to facilitate sizing for data tranmission across networks,
+or for data sizing on raw disks.
+.Pp
+A sector is made up of frames, and frames are named according to their
+place in the transformations made while encoding data.
+The frame of original data is called a C3 frame, and is 24 bytes long.
+The frame of encoded data is called a C1 frame, and is 32 bytes long.
.Pp
Each 24 bytes of input data is transformed into 32 bytes of
encoded data.
@@ -136,7 +147,7 @@
and the 32 bytes of encoded data is known as a C1 frame.
.Pp
The transformations are, in encoding order:
-.Bl -tag -width delay123
+.Bl -tag -width Dispersal12
.It delay1
Every other 4 bytes in the input stream are put into a delay slot of 1 frame.
.It scramble
@@ -149,7 +160,8 @@
This erasure code is inserted at the half-way point of the C3 frame.
This creates a C2 frame of 28 bytes.
.It Dispersal
-Each bytes is striped across the sector, according to the byte offset
+Each of the bytes in a C2 frame
+is striped across the sector, according to the byte offset
from the start of the C2 frame.
Byte
.Dv b