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