]> Cypherpunks.ru repositories - nncp.git/blob - doc/call.texi
Add various documentation indices
[nncp.git] / doc / call.texi
1 @node Call
2 @cindex call
3 @vindex calls
4 @unnumbered Call configuration
5
6 Call is a rule when and how node can be called by @ref{nncp-caller}.
7
8 Example list of call structures:
9
10 @verbatim
11 calls: [
12     {
13         cron: "*/1 * * * MON-FRI"
14         onlinedeadline: 3600
15         nice: PRIORITY+10
16
17         autotoss: true
18         autotoss-doseen: true
19     }
20     {
21         cron: "30 * * * SAT,SUN"
22         onlinedeadline: 1800
23         maxonlinetime: 1750
24         nice: NORMAL
25         rxrate: 10
26         txrate: 20
27     }
28     {
29         cron: "0 * * * SAT,SUN"
30         xx: rx
31         addr: lan
32     }
33     {
34         cron: "*/5 * * * * * *"
35         when-tx-exists: true
36         nock: true
37         mcd-ignore: true
38     }
39 ]
40 @end verbatim
41
42 tells that on work days of the week call that node every minute,
43 disconnect after an hour of inactivity and process only relatively high
44 priority packets (presumably mail ones). So we connect and hold
45 connection for very long time to pass only emails. On weekends call that
46 node only each half-hour for processing high-priority packets. Also only
47 on weekends try to connect to that node every hour only using LAN
48 address and only receiving any (any priority) packets (assume that low
49 priority huge file transmission are done additionally via offline
50 connections).
51
52 It contains the following fields (only @emph{cron} is required):
53
54 @table @emph
55
56 @vindex cron
57 @item cron
58 @include cronexpr.texi
59
60 @vindex nice
61 @item nice
62 Optional. Use that @ref{Niceness, niceness} during the call (255 is used
63 otherwise).
64
65 @vindex xx
66 @vindex rx
67 @vindex tx
68 @item xx
69 Optional. Either @verb{|rx|} or @verb{|tx|}. Tells only to either to
70 receive or to transmit data during that call.
71
72 @vindex addr
73 @item addr
74 Optional. Call only that address, instead of trying all from
75 @ref{CfgAddrs, @emph{addrs}} configuration option. It can be either key
76 from @emph{addrs} dictionary, or an ordinary @option{addr:port}.
77
78 @item rxrate/txrate
79 Optional. Override @ref{CfgXxRate, @emph{rxrate/txrate}} configuration
80 option when calling.
81
82 @item onlinedeadline
83 Optional. Override @ref{CfgOnlineDeadline, @emph{onlinedeadline}}
84 configuration option when calling.
85
86 @item maxonlinetime
87 Optional. Override @ref{CfgMaxOnlineTime, @emph{maxonlinetime}}
88 configuration option when calling.
89
90 @vindex autotoss
91 @item autotoss, -doseen, -nofile, -nofreq, -noexec, -notrns
92 Optionally enable auto tossing: run tosser on node's spool every second
93 during the call. You can control either are @file{seen/} files must be
94 created, or skip any kind of packet processing.
95
96 @vindex when-tx-exists
97 @item when-tx-exists
98 Call only if packets for sending exists. The check of outbound packets
99 existence is performed @strong{every} time we are going to make a call,
100 but @emph{when-tx-exists} does not influence @emph{cron}. When
101 @emph{cron} configuration decides that it is time to make a call, with
102 @emph{when-tx-exists} option it checks packets existence first.
103
104 @vindex nock
105 @anchor{CfgNoCK}
106 @item nock
107 NoCK (no-checksumming) tells not to do checksumming of received files,
108 assuming that it will be done for example with @ref{nncp-check} command
109 later. That can help minimizing time spent online, because HDD won't do
110 simultaneous reading of the data for checksumming and writing of the
111 received one, but just sequential writing of the file. Pay attention
112 that you have to make a call to remote node after checksumming is done,
113 to send notification about successful packet reception.
114
115 @vindex mcd-ignore
116 @anchor{CfgMCDIgnore}
117 @item mcd-ignore
118 Ignore @ref{MCD} announcements: do not add MCD addresses for possible
119 connection attempts.
120
121 @end table