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 connec-
          tions 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 com-
          mand 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

     AAN(8)                                                     AAN(8)

          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 ALSO
          import(4), exportfs(4), cpu(1)

     HISTORY
          Aanuke first appeared in 9front (April, 2014).