nameserv::auto(n)            Name service facility           nameserv::auto(n)



______________________________________________________________________________

NAME
       nameserv::auto - Name service facility, Client Extension

SYNOPSIS
       package require Tcl  8.4

       package require nameserv::auto  ?0.3?

       package require nameserv

_________________________________________________________________

DESCRIPTION
       Please read the document Name service facility, introduction first.

       This package provides the exact same API as is provided by package
       nameserv, i.e the regular name service client. It differs from the
       former by taking measures to ensure that longer-lived data, i.e. bound
       names, continuous and unfulfilled async searches, survive the loss of
       the connection to the name server as much as is possible.

       This means that the bound names and continuous and unfulfilled async
       searches are remembered client-side and automatically re-entered into
       the server when the connection comes back after its loss. For bound
       names there is one important limitation to such restoration: It is
       possible that a name of this client was bound by a different client
       while the connection was gone. Such names are fully lost, and the best
       the package can and will do is to inform the user of this.

API
       The user-visible API is mainly identical the API of nameserv and is
       therefore not described here. Please read the documentation of
       nameserv.

       The differences are explained in the sections OPTIONS and EVENTS.

OPTIONS
       This package supports all the option of package nameserv, and one more.
       The additional option allows the user to specifies the time interval
       between attempts to restore a lost connection.

       -delay milliseconds
              The value of this option is an integer value > 0 which specifies
              the interval to wait between attempts to restore a lost
              connection, in milliseconds. The default value is 1000, i.e. one
              second.

EVENTS
       This package generates all of the events of package nameserv, and two
       more. Both events are generated for the tag nameserv.

       lost-name
              This event is generated when a bound name is truly lost, i.e.
              could not be restored after the temporary loss of the connection
              to the name server. It indicates that a different client took
              ownership of the name while this client was out of contact.

              The detail information of the event will be a Tcl dictionary
              containing two keys, name, and data. Their values hold all the
              information about the lost name.

       re-connection
              This event is generated when the connection to the server is
              restored. The remembered data has been restored when the event
              is posted.

              The event has no detail information.

DESIGN
       The package is implemented on top of the regular nameservice client,
       i.e.  package nameserv. It detects the loss of the connection by
       listening for lost-connection events, on the tag nameserv.

       It reacts to such events by starting a periodic timer and trying to
       reconnect to the server whenver this timer triggers. On success the
       timer is canceled, a re-connection event generated, and the package
       proceeds to re-enter the remembered bound names and continous searches.

       Another loss of the connection, be it during or after re-entering the
       remembered information simply restarts the timer and subsequent
       reconnection attempts.

BUGS, IDEAS, FEEDBACK
       This document, and the package it describes, will undoubtedly contain
       bugs and other problems.  Please report such in the category nameserv
       of the Tcllib SF Trackers
       [http://sourceforge.net/tracker/?group_id=12883].  Please also report
       any ideas for enhancements you may have for either package and/or
       documentation.

SEE ALSO
       nameserv(n)

KEYWORDS
       automatic, client, name service, reconnect, restore

CATEGORY
       Networking

COPYRIGHT
       Copyright (c) 2007-2008 Andreas Kupries <andreas_kupries@users.sourceforge.net>




nns                                   0.3                    nameserv::auto(n)
