]> Cypherpunks.ru repositories - nncp.git/blobdiff - doc/cfg.texi
-maxonlinetime option
[nncp.git] / doc / cfg.texi
index 369ce78a3c594ddcf8a59cf643550dc19a66e6ed..3160d73d96d8e51a23271f6f86342c9c4e9f9f73 100644 (file)
@@ -33,16 +33,20 @@ neigh:
     exchpub: MJACJ...FAI6A
     signpub: T4AFC...N2FRQ
     noisepub: UBM5K...VI42A
-    sendmail: [/bin/sh, -c, false]
+    sendmail: ["/bin/sh", "-c", "false"]
     incoming: /home/alice/incoming
+    onlinedeadline: 1800
+    maxonlinetime: 3600
     addrs:
       lan: "[fe80::1234%igb0]:5400"
       internet: alice.com:3389
+    calls:
+      -
+        cron: "*/2 * * * *"
   bob:
     id: 2IZNP...UYGYA
     exchpub: WFLMZ...B7NHA
     signpub: GTGXG...IE3OA
-    noisepub: EQAZM...J3NBA
     sendmail: [/usr/sbin/sendmail]
     freq: /home/bob/pub
     via: [alice]
@@ -52,53 +56,81 @@ neigh:
 directory. @strong{log} field contains an absolute path to @ref{Log,
 log} file.
 
+@anchor{CfgNotify}
 @strong{notify} section contains notification settings for successfully
-tossed file and file request packets. Corresponding @strong{from} and
+tossed file and freq packets. Corresponding @strong{from} and
 @strong{to} fields will substituted in notification email message.
-@emph{neigh/self/sendmail} will be used as a local mailer. If
-either of @emph{from}/@emph{to} fields are omitted, then no notification
-will be sent.
+@emph{neigh/self/sendmail} will be used as a local mailer. You can omit
+either of those two @emph{from}/@emph{to} sections to omit corresponding
+notifications, or the whole section at once.
 
 @strong{self} section contains our node's private keypairs.
 @strong{exch*} and @strong{sign*} are used during @ref{Encrypted,
 encrypted} packet creation. @strong{noise*} are used during @ref{Sync,
-sync protocol} working in @ref{nncp-call}/@ref{nncp-daemon}.
+synchronization protocol} working in @ref{nncp-call}/@ref{nncp-daemon}.
 
 @strong{neigh} section contains all known neighbours information. It
 always has @strong{self} neighbour that is copy of our node's public
 data (public keys). It is useful for copy-paste sharing with your
 friends. Each section's key is a human-readable name of the neighbour.
 
-Except for @emph{id}, @emph{exchpub} and @emph{signpub} each node has
-the following fields:
+Except for @emph{id}, @emph{exchpub} and @emph{signpub} each neighbour
+node has the following fields:
 
 @table @strong
+
 @item noisepub
-Must be present, but can be dummy (only zeros) if no online
-communication using @ref{Sync, sync protocol} will be used.
+If present, then node can be online called using @ref{Sync,
+synchronization protocol}. Contains authentication public key.
 
+@anchor{CfgSendmail}
 @item sendmail
 An array containing path to executable and its command line arguments
-that is called for mail sending.
+that is called for mail sending. If it is empty, then no mail processing
+will be performed from that node.
 
+@anchor{CfgIncoming}
 @item incoming
 Full path to directory where all file uploads will be saved. May be
 omitted to forbid file uploading on that node.
 
+@anchor{CfgFreq}
 @item freq
 Full path to directory from where file requests will queue files for
 transmission. May be omitted to forbid freqing from that node.
 
 @item via
 An array of node identifiers that will be used as a relay to that node.
-For example @code{[foo,bar]} means that packet can reach current node by
-transitioning through @code{foo} and then @code{bar} nodes. May be
+For example @verb{|[foo,bar]|} means that packet can reach current node
+by transitioning through @emph{foo} and then @emph{bar} nodes. May be
 omitted if direct connection exists and no relaying is required.
 
+@anchor{CfgAddrs}
 @item addrs
 Dictionary containing known network addresses of the node. Each key is
-human-readable name of the link/address. Values are @code{addr:port}
+human-readable name of the link/address. Values are @verb{|addr:port|}
 pairs pointing to @ref{nncp-daemon}'s listening instance. May be omitted
 if either no direct connection exists, or @ref{nncp-call} is used with
 forced address specifying.
+
+@anchor{CfgOnlineDeadline}
+@item onlinedeadline
+Online connection deadline of node inactivity in seconds. It is the time
+connection considered dead after not receiving/sending any packets and
+node must disconnect. By default it is set to 10 seconds -- that means
+that disconnecting after 10 seconds when no packets received and
+transmitted. This can be set to rather high values to keep connection
+alive (to reduce handshake overhead and delays), wait for appearing
+packets ready to send and notifying remote side about their appearance.
+
+@anchor{CfgMaxOnlineTime}
+@item maxonlinetime
+If greater than zero, then it is maximal amount of time connect could be
+alive. Forcefully disconnect if it is exceeded.
+
+@anchor{CfgCalls}
+@item calls
+List of @ref{Call, call configuration}s. Can be omitted if
+@ref{nncp-caller} won't be used to call that node.
+
 @end table