gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r6333 - GNUnet-docs/WWW


From: gnunet
Subject: [GNUnet-SVN] r6333 - GNUnet-docs/WWW
Date: Sat, 16 Feb 2008 17:29:59 -0700 (MST)

Author: grothoff
Date: 2008-02-16 17:29:58 -0700 (Sat, 16 Feb 2008)
New Revision: 6333

Modified:
   GNUnet-docs/WWW/hacking_afs.php3
   GNUnet-docs/WWW/hacking_application.php3
   GNUnet-docs/WWW/hacking_testcases.php3
   GNUnet-docs/WWW/hacking_threading.php3
   GNUnet-docs/WWW/todo
Log:
docs

Modified: GNUnet-docs/WWW/hacking_afs.php3
===================================================================
--- GNUnet-docs/WWW/hacking_afs.php3    2008-02-17 00:16:22 UTC (rev 6332)
+++ GNUnet-docs/WWW/hacking_afs.php3    2008-02-17 00:29:58 UTC (rev 6333)
@@ -7,17 +7,17 @@
 H2("The File-Sharing code in GNUnet");
 afslogo();
 P();
-W("The file-sharing code falls roughly into five main groups: the ECRS 
encoding, the SQSTORE database, the FS module, GAP and DHT routing and the user 
interface(s).");
+W("The file-sharing code falls roughly into five main groups: the ECRS 
encoding, the SQSTORE database, the FS module, DHT routing and the user 
interface(s).");
 W("The ECRS code is responsible for breaking the file into blocks, encoding, 
decoding and verification of these blocks, inserting and requesting blocks and 
other fundamental functions.");
 W("The SQSTORE database services are responsible for storing the blocks.");
 W("The user interface consists of a shared library (FSUI) that does the actual 
work and several user interfaces (gnunet-insert, gnunet-gtk) which provide a 
way for the user to access the functionality provided by FSUI.");
-W("The GAP and DHT routing services are responsible for deciding which peers 
should receive which queries (and where to send replies back to).");
-W("The major difference between GAP and DHT is that GAP is expected to achieve 
anonymity whereas DHT is mostly concerned with performance.");
+W("The DHT routing services are responsible for deciding which peers should 
receive which queries (and where to send replies back to) for non-anonymous 
routing.");
+W("Anonymous routing is integrated into the FS module.");
+W("The FS module also provides communication with clients (the client side is 
done by the FSLIB helper library), tracking of requests, planning of anonymous 
routing, content migration and management of the SQSTORE (with help of the 
DATASTORE module).");
+W("The FS module selects between anonymous and DHT routing services depending 
on the desired level of anonymity.");
 W("The user interface code consists mostly of straight-forward wrappers around 
the FSUI and ECRS libraries.");
 W("For a description of the user interface from the point of the user, see the 
%s.",
   intlink_("user_afs.php3", "File-sharing user documentation"));
-W("The FS module is what holds the file-sharing system together, connecting 
ECRS, the SQSTORE, the local clients and the routing services.");
-W("The FS module selects between the GAP and DHT routing services depending on 
the desired level of anonymity.");
 P();
 
 H3("libgnunet_ecrs");
@@ -34,8 +34,6 @@
 H3("The GAP Module");
 W("The %s provides the code for anonymous routing of file-sharing requests.");
   extlink_("doxygen/html/gap_8c.html", "gap module"));
-W("GAP queues requests and keeps track of the previous node on the path for 
sending replies.");
-W("GAP uses the blockstore provided by the file-sharing module to communicate 
replies to local clients, to migrate content and to verify that replies match 
the queries (ECRS verification).");
 
 P();
 H3("The SQStore Module");
@@ -46,12 +44,15 @@
 
 ANCHOR("fs");H3("FS application module");
 W("The code in this directory contains the shared library (or plugin) that 
gnunetd loads in order to participate in (anonymous) file sharing.");
-W("It uses GAP or RPC for routing requests and the SQStore to store 
information about shared files.");
+W("FS queues requests and keeps track of the previous node on the path for 
sending replies.");
 W("The FS module itself is responsible for deciding which content should be 
stored locally.");
+W("FS uses the DATASTORE module to store data, to lookup queries and for 
content migration.");
+W("FS also manages on-demand encoded data.");
+W("The ECRS_CORE library is used by FS and ECRS to verify that replies match 
the queries (ECRS verification).");
+W("FS uses the DHT for non-anonymous routing.");
 W("The decision is based on the frequency and priority of requests for the 
content and the available diskspace.");
-W("A %s is used to reduce the number of accesses to the database.",
+W("A %s is used (by the DATASTORE module) to reduce the number of accesses to 
the SQSTORE module.",
   extlink_("download/bloomfilter.ps", "bloomfilter"));
-W("Content migration is also controlled by the FS module.");
 P();
 
 ANCHOR("FSUI");H3("libgnunet_fsui");

Modified: GNUnet-docs/WWW/hacking_application.php3
===================================================================
--- GNUnet-docs/WWW/hacking_application.php3    2008-02-17 00:16:22 UTC (rev 
6332)
+++ GNUnet-docs/WWW/hacking_application.php3    2008-02-17 00:29:58 UTC (rev 
6333)
@@ -52,7 +52,7 @@
 W("Do not use <tt>fork()</tt> or similar functions.");
 echo "</li>";
 echo "<li>";
-W("Use <tt>PTHREAD_SLEEP()</tt> instead of <tt>sleep()</tt>.");
+W("Use <tt>GNUNET_thread_sleep()</tt> instead of <tt>sleep()</tt>.");
 echo "</li>";
 echo "<li>";
 W("Use <tt>DIR_SEPARATOR</tt> and <tt>DIR_SEPARATOR_STR</tt> instead of plain 
slashes.");
@@ -61,7 +61,7 @@
 W("Use the uppercase macros defined in <tt>platform.h</tt> (for example, 
<tt>CHDIR()</tt> instead of <tt>chdir()</tt>, <tt>CONNECT()</tt> instead of 
<tt>connect()</tt>).");
 echo "</li>";
 echo "<li>";
-W("Use <tt>disk_file_open()</tt> instead of <tt>open()</tt>");
+W("Use <tt>GNUNET_disk_file_open()</tt> instead of <tt>open()</tt>");
 echo "</li>";
 echo "<li>";
 W("If an I/O function is missing in <tt>platform.h</tt>, ask the GNUnet 
developers.");

Modified: GNUnet-docs/WWW/hacking_testcases.php3
===================================================================
--- GNUnet-docs/WWW/hacking_testcases.php3      2008-02-17 00:16:22 UTC (rev 
6332)
+++ GNUnet-docs/WWW/hacking_testcases.php3      2008-02-17 00:29:58 UTC (rev 
6333)
@@ -55,10 +55,10 @@
 W("The following code illustrates spawning and killing a <tt>gnunetd</tt> 
process from a testcase:");
 EP();
 PRE("pid_t daemon; \n" .
-    "daemon = os_daemon_start(NULL, cfg, \"peer.conf\", NO);\n" .
+    "daemon = GNUNET_daemon_start(NULL, cfg, \"peer.conf\", NO);\n" .
     "/* put actual testcode here */\n" .
     "if (daemon != -1) {\n" .
-    "  if (YES != os_daemon_stop(NULL, daemon))\n" .
+    "  if (YES != GNUNET_daemon_stop(NULL, daemon))\n" .
     "    DIE_STRERROR(\"kill\");\n" .
     "}\n");
 BP();

Modified: GNUnet-docs/WWW/hacking_threading.php3
===================================================================
--- GNUnet-docs/WWW/hacking_threading.php3      2008-02-17 00:16:22 UTC (rev 
6332)
+++ GNUnet-docs/WWW/hacking_threading.php3      2008-02-17 00:29:58 UTC (rev 
6333)
@@ -16,7 +16,7 @@
 W("The core may call registered callback handlers at any time, and also 
concurrently.");
 W("The application modules are responsible for synchronizing access to their 
internal state properly.");
 echo "</strong>";
-W("In practice, client code will use <tt>MUTEX_CREATE</tt> in initializers and 
then guard access to mutable global shared state using <tt>MUTEX_LOCK</tt> and 
<tt>MUTEX_UNLOCK</tt>.");
+W("In practice, client code will use <tt>GNUNET_mutex_create</tt> in 
initializers and then guard access to mutable global shared state using 
<tt>GNUNET_mutex_lock</tt> and <tt>GNUNET_mutex_unlock</tt>.");
 echo "</li><li><strong>";
 W("In order to avoid deadlocks, code that was called via callback from the 
core may not invoke methods on the core while holding locks of the 
application.");
 echo "</strong>";
@@ -67,7 +67,7 @@
 echo "<ul><li>";
 W("You should never use <tt>pthread_detach</tt>.");
 W("There is hardly ever a good reason for it, and it can be the source of 
subtle bugs.");
-W("Write a shutdown-sequence for your code and make sure to use 
<tt>pthread_join</tt> on all created threads.");
+W("Write a shutdown-sequence for your code and make sure to use 
<tt>GNUNET_thread_join</tt> on all created threads.");
 echo "</li></ul>";
 include("html_footer.php3");
 ?>
\ No newline at end of file

Modified: GNUnet-docs/WWW/todo
===================================================================
--- GNUnet-docs/WWW/todo        2008-02-17 00:16:22 UTC (rev 6332)
+++ GNUnet-docs/WWW/todo        2008-02-17 00:29:58 UTC (rev 6333)
@@ -1,6 +1,6 @@
 NEW content to be written:
-1) TCP6, UDP6, HTTP
-2) P2P tbench, tracekit
+1) All CS protocols 
+2) P2P tbench
 3) CS tbench, tracekit
 4) Internal Service APIs (stats, identity, pingpong, rpc, traffic, transport, 
dht)
 5) application library APIs (fs, ecrs, fsui, getoption, stats, traffic, dht)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]