]> git.lizzy.rs Git - plan9front.git/blob - sys/man/8/aan
stdio: fix putc(), plan9 version
[plan9front.git] / sys / man / 8 / aan
1 .TH AAN 8
2 .SH NAME
3 aan, aanuke \- always available network
4 .SH SYNOPSIS
5 .B aan
6 .B -c
7 [
8 .B -d
9 ]
10 [
11 .B -m maxto
12 ]
13 .I dialstring
14 .br
15 .B aan
16 [
17 .B -d
18 ]
19 [
20 .B -m maxto
21 ]
22 .I netdir
23 .br
24 .B aanuke
25 .SH DESCRIPTION
26 .I Aan
27 tunnels traffic between a client and a server through a persistent
28 network connection.  If the connection breaks (voluntarily or
29 due to networking problems), the
30 .I aan
31 client re-establishes the connection by redialing the server.
32 .PP
33 .I Aan 
34 uses a unique protocol to make sure no data is ever lost even
35 when the connection breaks.
36 After a reconnection,
37 .I aan
38 retransmits all unacknowledged data between client and server.
39 .PP
40 A connection can be broken voluntarily (e.g. by roaming over IP networks), 
41 or a connection can break when the IP service is unreliable.
42 In either case,
43 .I aan
44 re-establishes the client's connection automatically.
45 .PP 
46 When the server part has not heard from the client in
47 .I maxto
48 seconds, the server part of
49 .I aan
50 exits.
51 The default
52 .I maxto
53 is one day.
54 The client side (option
55 .BR -c )
56 calls the server by its
57 .IR dialstring ,
58 while the server side listens for connections in the 
59 already-announced network directory
60 .IR netdir .
61 .PP
62 .I Aan
63 is usually run automatically through the
64 .B -p
65 option of
66 .IR import (4)
67 and
68 .IR cpu (1).
69 .PP
70 .I Aanuke
71 prints commands that will cause all processes called
72 .I aan
73 that are owned by the current user and do not have an
74 active tcp connection to be terminated.
75 Use the
76 .B send
77 command of
78 .IR rio (1),
79 or pipe the output of
80 .I kill
81 into
82 .IR rc (1)
83 to execute the commands.
84 .SH EXAMPLES
85 Assume the server part of
86 .I aan
87 is encapsulated in
88 .I exportfs
89 on the machine
90 .B sob
91 and started through
92 .B aux/listen
93 as follows:
94 .IP
95 .EX
96 netdir=`{echo $3 | sed 's;/[0-9]+$;!*!0;'}
97 exec exportfs -a -A $netdir
98 .EE
99 .PP
100 Then machine
101 .BR astro6 's
102 name space can be imported through
103 .I aan
104 using this command:
105 .IP
106 .EX
107 import -p astro6 / /mnt/term
108 .EE
109 .PP
110 Kill idle instances of
111 .I aan
112 left behind by a terminal that has been powered off:
113 .IP
114 .EX
115 aanuke | rc
116 .EE
117 .SH FILES
118 .TF /sys/log/aan
119 .TP
120 .B /sys/log/aan
121 Log file
122 .SH SOURCE
123 .B /sys/src/cmd/aan.c
124 .br
125 .B /rc/bin/aanuke
126 .SH SEE ALSO
127 .IR import (4),
128 .IR exportfs (4),
129 .IR cpu (1)
130 .SH HISTORY
131 .I Aanuke
132 first appeared in 9front (April, 2014).