]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
fec
authorAndre Noll <maan@tuebingen.mpg.de>
Wed, 11 Jun 2025 14:02:25 +0000 (16:02 +0200)
committerAndre Noll <maan@tuebingen.mpg.de>
Wed, 11 Jun 2025 14:02:25 +0000 (16:02 +0200)
fec.h
web/DoxygenLayout.xml
web/documentation.in.html
web/para.css

diff --git a/fec.h b/fec.h
index d09b035d89e02401227d69a377b3e6ecc2f52d25..51626ab8a26c14b9c5ffbfffd9663d9bde092bad 100644 (file)
--- a/fec.h
+++ b/fec.h
@@ -1,4 +1,19 @@
-/** \file fec.h Exported symbols from fec.c. */
+/** \file fec.h Exported symbols from fec.c.
+ *
+ * This implementation of forward error correction employs the Reed Solomon
+ * error-correcting code, which is based on Galois field algebra. The algorithm
+ * is implemented in \ref fec.c. The two users are the virtual streaming
+ * system (\ref vss.h), which fec-encodes data chunks before sending them over
+ * the network, and the fecdec filter (\ref fecdec_filter.c), which decodes
+ * fec-encoded chunks and feeds the decoded chunks to the output channel of
+ * the buffer tree node for subordinated buffer tree nodes to process.
+ *
+ * The API is relatively simple as it contains only the few non-static
+ * functions described here. Both the sending and the receiving side first
+ * call \ref fec_new() to obtain a reference to an opaque fec handle. The
+ * virtual streaming system calls \ref fec_encode() while the fecdec filter
+ * calls \ref fec_decode().
+ */
 
 /*
  * 980614
  * OF SUCH DAMAGE.
  */
 
-/** Each FEC slice contains a FEC header of this size. */
+/**
+ * Each FEC slice contains a FEC header of this size.
+ *
+ * The value is needed by the virtual streaming system and the fec decoder
+ * implemented in \ref fecdec_filter.c.
+ */
 #define FEC_HEADER_SIZE 32
+
 /** The FEC header starts with this magic value. */
 #define FEC_MAGIC 0xFECC0DEC
 
index 37b491339742f01eb7163e6f288f784cb90acb5f..a0295334d1cd7a2a5809b932b3f0c38cf6bbc281 100644 (file)
       <variables title=""/>
     </memberdecl>
     <memberdef>
+      <functions title=""/>
       <inlineclasses title=""/>
       <defines title=""/>
       <typedefs title=""/>
       <sequences title=""/>
       <dictionaries title=""/>
       <enums title=""/>
-      <functions title=""/>
       <variables title=""/>
     </memberdef>
     <authorsection/>
index d9bb59323ca60716182ff2d1487e748d5ad820cb..22cdafeb2a657d7133326ac8a6563bf804211723 100644 (file)
@@ -31,9 +31,9 @@
 <h2> Source code documentation </h2>
 
 <p> Only the C API is documented here. Not shown are files related to the
-build system (makefiles and autoconf related files) and the lopsub suite files
-which contain the descriptions of the command line options. Only non-static
-functions and variables are documented. </p>
+build system (makefiles and autoconf related files) and the lopsub suite
+files which contain the descriptions of the command line options. As a rule,
+only non-static functions and variables are documented. </p>
 
 <h3> Subsystems </h3>
 
index 2d349a7dcc14e2a1474d987a3f84ff39f96d82e2..fd457902c279610a8aff3047e639e5a77b02402c 100644 (file)
@@ -12,8 +12,8 @@ td {
        vertical-align: top;
 }
 
-h2 {
-       color: #ffffff;
+h2,h3 {
+       color: #fff;
 }
 
 span.slogan {