129 lines
2.2 KiB
Text
129 lines
2.2 KiB
Text
.TH AAN 8
|
|
.SH NAME
|
|
aan, aanuke \- always available network
|
|
.SH SYNOPSIS
|
|
.B aan
|
|
.B -c
|
|
[
|
|
.B -d
|
|
]
|
|
[
|
|
.B -m maxto
|
|
]
|
|
.I dialstring
|
|
.br
|
|
.B aan
|
|
[
|
|
.B -d
|
|
]
|
|
[
|
|
.B -m maxto
|
|
]
|
|
.I netdir
|
|
.br
|
|
.B aanuke
|
|
.SH DESCRIPTION
|
|
.I Aan
|
|
tunnels traffic between a client and a server through a persistent
|
|
network connection. If the connection breaks (voluntarily or
|
|
due to networking problems), the
|
|
.I aan
|
|
client re-establishes the connection by redialing the server.
|
|
.PP
|
|
.I Aan
|
|
uses a unique protocol to make sure no data is ever lost even
|
|
when the connection breaks.
|
|
After a reconnection,
|
|
.I aan
|
|
retransmits all unacknowledged data between client and server.
|
|
.PP
|
|
A connection can be broken voluntarily (e.g. by roaming over IP networks),
|
|
or a connection can break when the IP service is unreliable.
|
|
In either case,
|
|
.I aan
|
|
re-establishes the client's connection automatically.
|
|
.PP
|
|
When the server part has not heard from the client in
|
|
.I maxto
|
|
seconds, the server part of
|
|
.I aan
|
|
exits.
|
|
The default
|
|
.I maxto
|
|
is one day.
|
|
The client side (option
|
|
.BR -c )
|
|
calls the server by its
|
|
.IR dialstring ,
|
|
while the server side listens for connections in the
|
|
already-announced network directory
|
|
.IR netdir .
|
|
.PP
|
|
.I Aan
|
|
is usually run automatically through the
|
|
.B -p
|
|
option of rimport, rexport and
|
|
.IR rcpu (1).
|
|
.PP
|
|
.I Aanuke
|
|
prints commands that will cause all processes called
|
|
.I aan
|
|
that are owned by the current user and do not have an
|
|
active tcp connection to be terminated.
|
|
Use the
|
|
.B send
|
|
command of
|
|
.IR rio (1),
|
|
or pipe the output of
|
|
.I kill
|
|
into
|
|
.IR rc (1)
|
|
to execute the commands.
|
|
.SH EXAMPLES
|
|
Assume the server part of
|
|
.I aan
|
|
is encapsulated in
|
|
.I exportfs
|
|
on the machine
|
|
.B sob
|
|
and started through
|
|
.B aux/listen
|
|
as follows:
|
|
.IP
|
|
.EX
|
|
netdir=`{echo $3 | sed 's;/[0-9]+$;!*!0;'}
|
|
exec exportfs -a -A $netdir
|
|
.EE
|
|
.PP
|
|
Then machine
|
|
.BR astro6 's
|
|
name space can be imported through
|
|
.I aan
|
|
using this command:
|
|
.IP
|
|
.EX
|
|
import -p astro6 / /mnt/term
|
|
.EE
|
|
.PP
|
|
Kill idle instances of
|
|
.I aan
|
|
left behind by a terminal that has been powered off:
|
|
.IP
|
|
.EX
|
|
aanuke | rc
|
|
.EE
|
|
.SH FILES
|
|
.TF /sys/log/aan
|
|
.TP
|
|
.B /sys/log/aan
|
|
Log file
|
|
.SH SOURCE
|
|
.B /sys/src/cmd/aan.c
|
|
.br
|
|
.B /rc/bin/aanuke
|
|
.SH SEE ALSO
|
|
.IR exportfs (4),
|
|
.IR rcpu (1)
|
|
.SH HISTORY
|
|
.I Aanuke
|
|
first appeared in 9front (April, 2014).
|