[Top][All Lists]
[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)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6333 - GNUnet-docs/WWW,
gnunet <=