gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [gnunet] branch master updated: gnunet-c-tutorial: Some @fi


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: gnunet-c-tutorial: Some @file{} changes.
Date: Sun, 03 Sep 2017 17:59:56 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new e611bc045 gnunet-c-tutorial: Some @file{} changes.
e611bc045 is described below

commit e611bc0456f78032d43c775afb35bfb31461483a
Author: ng0 <address@hidden>
AuthorDate: Sun Sep 3 15:59:10 2017 +0000

    gnunet-c-tutorial: Some @file{} changes.
---
 doc/gnunet-c-tutorial.texi | 88 +++++++++++++++++++++++-----------------------
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/doc/gnunet-c-tutorial.texi b/doc/gnunet-c-tutorial.texi
index a6d46da31..e157eeceb 100644
--- a/doc/gnunet-c-tutorial.texi
+++ b/doc/gnunet-c-tutorial.texi
@@ -264,9 +264,9 @@ network since this could lead to confusing output. This 
modifications
 will replace the default settings:
 @example
 [PATHS]
-GNUNET_HOME = ~/gnunet1/               # Use this directory to store GNUnet 
data
+GNUNET_HOME = ~/gnunet1/  # Use this directory to store GNUnet data
 [hostlist]
-SERVERS =                              # prevent bootstrapping
+SERVERS =                 # prevent bootstrapping
 @end example
 
 @subsection Start a peer
@@ -279,8 +279,8 @@ ARM starts, stops and even restarts services automatically 
or on demand when a c
 You interact with the ARM service using the gnunet-arm tool.
 GNUnet can then be started with gnunet-arm -s and stopped with
 gnunet-arm -e.  An additional service not automatically started
-can be started using gnunet-arm -i <service name> and stopped
-using gnunet-arm -k <servicename>.
+can be started using @command{gnunet-arm -i <service name>} and stopped
+using @command{gnunet-arm -k <servicename>}.
 
 Once you have started your peer, you can use many other GNUnet commands
 to interact with it.  For example, you can run:
@@ -329,13 +329,13 @@ Section sec:testbed.
 We will now start a second peer on your machine.
 For the second peer, you will need to manually create a modified
 configuration file to avoid conflicts with ports and directories.
-A peers configuration file is by default located in ~/.gnunet/gnunet.conf.
+A peers configuration file is by default located in 
@file{~/.gnunet/gnunet.conf}.
 This file is typically very short or even empty as only the differences to the
 defaults need to be specified.  The defaults are located in
-many files in the $PREFIX/share/gnunet/config.d directory.
+many files in the @file{$PREFIX/share/gnunet/config.d} directory.
 
 To configure the second peer, use the files
-$PREFIX/share/gnunet/config.d as a template for your main
address@hidden/share/gnunet/config.d} as a template for your main
 configuration file:
 @example
 $ cat $PREFIX/share/gnunet/config.d/*.conf > peer2.conf
@@ -352,7 +352,7 @@ Now you have to edit peer2.conf and change:
 \end{itemize}
 to a fresh, unique value.  Make sure that the PORT numbers stay
 below 65536.  From now on, whenever you interact with the second
-peer, you need to specify -c peer2.conf as an additional
+peer, you need to specify @command{-c peer2.conf} as an additional
 command line argument.
 
 Now, generate the 2nd peer's private key:
@@ -416,8 +416,8 @@ If you want to use the \texttt{peerinfo} tool to connect 
your peers, you should:
  \item{Give the output to the second peer by running {\tt gnunet-peerinfo -c 
peer2.conf -p '<output>'}}
 \end{itemize}
 
-Check that they are connected using {\tt gnunet-core -c peer1.conf}, which 
should give you the other peer's
-peer identity:
+Check that they are connected using @command{gnunet-core -c peer1.conf},
+which should give you the other peer's peer identity:
 @example
 $ gnunet-core -c peer1.conf
 Peer `9TVUCS8P5A7ILLBGO6 [...shortened...] 1KNBJ4NGCHP3JPVULDG'
@@ -433,7 +433,7 @@ possible to run around tens of peers without drastically 
increasing the load on
 system.
 
 The testbed service can be access through its API
-\texttt{include/gnunet\_testbed\_service.h}.  The API provides many routines 
for
address@hidden/gnunet\_testbed\_service.h}.  The API provides many routines for
 managing a group of peers.  It also provides a helper function
 \texttt{GNUNET\_TESTBED\_test\_run()} to quickly setup a minimalistic testing
 environment on a single host.
@@ -446,7 +446,7 @@ and assigns the ports in configurations only if they are 
free.
 
 Additionally, the testbed service also reads its options from the same
 configuration file.  Various available options and details about them can be
-found in the testbed default configuration file 
\texttt{src/testbed/testbed.conf}.
+found in the testbed default configuration file 
@file{src/testbed/testbed.conf}.
 
 With the testbed API, a sample test case can be structured as follows:
 % <lynX> Is there a way to pick a more readable font for this include?
@@ -454,7 +454,7 @@ With the testbed API, a sample test case can be structured 
as follows:
 \lstinputlisting{testbed_test.c}
 The source code for the above listing can be found at
 @uref{https://gnunet.org/git/gnunet.git/tree/doc/testbed_test.c}
-or in the {\tt doc/} folder of your repository check-out.
+or in the @file{doc/} folder of your repository check-out.
 After installing GNUnet, the above source code can be compiled as:
 @example
 $ export CPPFLAGS="-I/path/to/gnunet/headers"
@@ -464,7 +464,7 @@ $ touch template.conf # Generate (empty) configuration
 $ ./testbed-test  # run it (press CTRL-C to stop)
 @end example
 The \texttt{CPPFLAGS} and \texttt{LDFLAGS} are necessary if GNUnet is installed
-into a different directory other than \texttt{/usr/local}.
+into a different directory other than @file{/usr/local}.
 
 All of testbed API's peer management functions treat management actions as
 operations and return operation handles.  It is expected that the operations
@@ -507,14 +507,14 @@ disconnect from the service with the provided service 
handle (\texttt{op\_result
 Exercise: Find out how many peers you can run on your system.
 
 Exercise: Find out how to create a 2D torus topology by changing the
-  options in the configuration file. See 
@uref{https://gnunet.org/supported-topologies}
-  Then use the DHT API to store and retrieve values in the
-  network.
+options in the configuration file. See 
@uref{https://gnunet.org/supported-topologies}
+Then use the DHT API to store and retrieve values in the
+network.
 
 
 @section Developing Applications
 
address@hidden gnunet-ext}
address@hidden gnunet-ext
 To develop a new peer-to-peer application or to extend GNUnet we provide
 a template build system for writing GNUnet extensions in C. It can be
 obtained as follows:
@@ -556,13 +556,13 @@ In addition the ext systems provides:
 @subsection Adapting the Template
 
 The first step for writing any extension with a new service is to
-ensure that the {\tt ext.conf.in} file contains entries for the
+ensure that the @file{ext.conf.in} file contains entries for the
 \texttt{UNIXPATH}, \texttt{PORT} and \texttt{BINARY} for the service in a 
section named after
 the service.
 
-If you want to adapt the template rename the {\tt ext.conf.in} to match your
-services name, you have to modify the \texttt{AC\_OUTPUT} section in {\tt 
configure.ac}
-in the \texttt{gnunet-ext} root.
+If you want to adapt the template rename the @file{ext.conf.in} to match your
+services name, you have to modify the \texttt{AC\_OUTPUT} section in 
@file{configure.ac}
+in the @file{gnunet-ext} root.
 
 @section Writing a Client Application
 
@@ -658,7 +658,7 @@ The first and most important step in writing a client 
library is to
 decide on an API for the library.  Typical API calls include
 connecting to the service, performing application-specific requests
 and cleaning up.  Many examples for such service APIs can be found
-in the {\tt gnunet/src/include/gnunet\_*\_service.h} files.
+in the @file{gnunet/src/include/gnunet\_*\_service.h} files.
 
 Then, a client-service protocol needs to be designed.  This typically
 involves defining various message formats in a header that will be
@@ -670,7 +670,7 @@ convention, all fields in IPC (and P2P) messages must be in 
big-endian
 format (and thus should be read using {\tt ntohl} and similar
 functions and written using {\tt htonl} and similar functions).
 Unique message types must be defined for each message struct in the
-{\tt gnunet\_protocols.h} header (or an extension-specific include
address@hidden header (or an extension-specific include
 file).
 
 @subsubsection Connecting to the Service}
@@ -714,7 +714,7 @@ struct GNUNET_MessageHeader
 };
 @end example
 
-Existing message types are defined in {\tt gnunet\_protocols.h}\\
+Existing message types are defined in @file{gnunet\_protocols.h}\\
 A common way to create a message is with an envelope:
 
 \lstset{language=C}
@@ -731,7 +731,7 @@ GNUNET_mq_send (mq, env);
 Exercise: Define a message struct that includes a 32-bit
 unsigned integer in addition to the standard GNUnet MessageHeader.
 Add a C struct and define a fresh protocol number for your message.
-(Protocol numbers in gnunet-ext are defined in 
\lstinline|gnunet-ext/src/include/gnunet_protocols_ext.h|)}
+Protocol numbers in gnunet-ext are defined in 
@file{gnunet-ext/src/include/gnunet_protocols_ext.h}
 
 Exercise: Find out how you can determine the number of messages in a message 
queue.}
 
@@ -819,11 +819,11 @@ implement the corresponding service.
 
 @subsection Code Placement}
 
-New services are placed in their own subdirectory under {\tt gnunet/src}.
-This subdirectory should contain the API implementation file {\tt 
SERVICE\_api.c},
-the description of the client-service protocol {\tt SERVICE.h} and P2P protocol
-{\tt SERVICE\_protocol.h}, the implementation of the service itself
-{\tt gnunet-service-SERVICE.h} and several files for tests, including test code
+New services are placed in their own subdirectory under @file{gnunet/src}.
+This subdirectory should contain the API implementation file 
@file{SERVICE\_api.c},
+the description of the client-service protocol @file{SERVICE.h} and P2P 
protocol
address@hidden, the implementation of the service itself
address@hidden and several files for tests, including test code
 and configuration files.
 
 @subsection Starting a Service}
@@ -1229,8 +1229,8 @@ In order to store data in the DHT, it is necessary to 
provide a block
 plugin.  The DHT uses the block plugin to ensure that only well-formed
 requests and replies are transmitted over the network.
 
-The block plugin should be put in a file {\tt
-  plugin\_block\_SERVICE.c} in the service's respective directory. The
+The block plugin should be put in a file @file{plugin\_block\_SERVICE.c}
+in the service's respective directory. The
 mandatory functions that need to be implemented for a block plugin are
 described in the following sections.
 
@@ -1238,7 +1238,7 @@ described in the following sections.
 
 The evaluate function should validate a reply or a request. It returns
 a {\tt GNUNET\_BLOCK\_EvaluationResult}, which is an enumeration. All
-possible answers are in {\tt gnunet\_block\_lib.h}.  The function will
+possible answers are in @file{gnunet\_block\_lib.h}.  The function will
 be called with a {\tt reply\_block} argument of {\tt NULL} for
 requests.  Note that depending on how {\tt evaluate} is called, only
 some of the possible return values are valid.  The specific meaning of
@@ -1265,8 +1265,8 @@ block_plugin_SERVICE_evaluate (void *cls,
 
 Note that it is mandatory to detect duplicate replies in this function
 and return the respective status code.  Duplicate detection is
-typically done using the Bloom filter block group provided by {\tt
-  libgnunetblockgroup.so}.  Failure to do so may cause replies to
+typically done using the Bloom filter block group provided by
address@hidden  Failure to do so may cause replies to
 circle in the network.
 
 @subsubsection Deriving a key from a reply
@@ -1428,10 +1428,10 @@ monitor_handle = GNUNET_DHT_monitor_start (dht_handle,
 
 @section Debugging with gnunet-arm
 
-Even if services are managed by {\tt gnunet-arm}, you can start them with
-{\tt gdb} or {\tt valgrind}.  For example, you could add the following lines
-to your configuration file to start the DHT service in a {\tt gdb} session in a
-fresh {\tt xterm}:
+Even if services are managed by @command{gnunet-arm}, you can start them with
address@hidden or @command{valgrind}.  For example, you could add the following 
lines
+to your configuration file to start the DHT service in a @command{gdb} session 
in a
+fresh @command{xterm}:
 
 @example
 [dht]
@@ -1457,12 +1457,12 @@ running \texttt{configure}. More details about logging 
can be found under
 @uref{https://gnunet.org/logging}.
 
 You should also probably enable the creation of core files, by setting
-{\tt ulimit}, and echo'ing 1 into {\tt /proc/sys/kernel/core\_uses\_pid}.
-Then you can investigate the core dumps with {\tt gdb}, which is often
+{\tt ulimit}, and echo'ing 1 into @file{/proc/sys/kernel/core\_uses\_pid}.
+Then you can investigate the core dumps with @command{gdb}, which is often
 the fastest method to find simple errors.
 
 Exercise: Add a memory leak to your service and obtain a trace
-pointing to the leak using {\tt valgrind} while running the service
-from {\tt gnunet-service-arm}.}
+pointing to the leak using @command{valgrind} while running the service
+from @command{gnunet-service-arm}.
 
 @bye

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

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