AAN(8)AAN(8)
NAME
aan, aanuke – always available network
SYNOPSIS
aan
-c
[
-d
]
[
-m maxto
]
dialstring
aan
[
-d
]
[
-m maxto
]
netdir
aanuke
DESCRIPTION
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
aan
client re-establishes the connection by redialing the server.
Aan
uses a unique protocol to make sure no data is ever lost even
when the connection breaks.
After a reconnection,
aan
retransmits all unacknowledged data between client and server.
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,
aan
re-establishes the client’s connection automatically.
When the server part has not heard from the client in
maxto
seconds, the server part of
aan
exits.
The default
maxto
is one day.
The client side (option
-c)
calls the server by its
dialstring,
while the server side listens for connections in the
already-announced network directory
netdir.
Aan
is usually run automatically through the
-p
option of
import(4)
and
cpu(1).
Aanuke
prints commands that will cause all processes called
aan
that are owned by the current user and do not have an
active tcp connection to be terminated.
Use the
send
command of
rio(1),
or pipe the output of
kill
into
rc(1)
to execute the commands.
EXAMPLES
Assume the server part of
aan
is encapsulated in
exportfs
on the machine
sob
and started through
aux/listen
as follows:
netdir=`{echo $3 | sed 's;/[0-9]+$;!*!0;'}
exec exportfs -a -A $netdir
Then machine
astro6’s
name space can be imported through
aan
using this command:
import -p astro6 / /mnt/term
Kill idle instances of
aan
left behind by a terminal that has been powered off:
aanuke | rc
FILES
/sys/log/aan
Log file
SOURCE
/sys/src/cmd/aan.c
/rc/bin/aanuke
SEE
import(4),
exportfs(4),
cpu(1)
HISTORY
Aanuke
first appeared in 9front (April, 2014).