]> Cypherpunks.ru repositories - nncp.git/blob - doc/call.texi
On demand calling
[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.
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     },
35 ]
36 @end verbatim
37
38 tells that on work days of the week call that node every minute,
39 disconnect after an hour of inactivity and process only relatively high
40 priority packets (presumably mail ones). So we connect and hold
41 connection for very long time to pass only emails. On weekends call that
42 node only each half-hour for processing high-priority packets. Also only
43 on weekends try to connect to that node every hour only using LAN
44 address and only receiving any (any priority) packets (assume that low
45 priority huge file transmission are done additionally via offline
46 connections).
47
48 It contains the following fields (only @emph{cron} is required):
49
50 @table @emph
51
52 @item cron
53 @include cronexpr.texi
54
55 @item nice
56 Optional. Use that @ref{Niceness, niceness} during the call (255 is used
57 otherwise).
58
59 @item xx
60 Optional. Either @verb{|rx|} or @verb{|tx|}. Tells only to either to
61 receive or to transmit data during that call.
62
63 @item addr
64 Optional. Call only that address, instead of trying all from
65 @ref{CfgAddrs, @emph{addrs}} configuration option. It can be either key
66 from @emph{addrs} dictionary, or an ordinary @option{addr:port}.
67
68 @item rxrate/txrate
69 Optional. Override @ref{CfgXxRate, @emph{rxrate/txrate}} configuration
70 option when calling.
71
72 @item onlinedeadline
73 Optional. Override @ref{CfgOnlineDeadline, @emph{onlinedeadline}}
74 configuration option when calling.
75
76 @item maxonlinetime
77 Optional. Override @ref{CfgMaxOnlineTime, @emph{maxonlinetime}}
78 configuration option when calling.
79
80 @item autotoss, -doseen, -nofile, -nofreq, -noexec, -notrns
81 Optionally enable auto tossing: run tosser on node's spool every second
82 during the call. You can control either are @file{.seen} files must be
83 created, or skip any kind of packet processing.
84
85 @item when-tx-exists
86 Call only if packets for sending exists.
87
88 @end table