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