


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 for-
       mer  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 pos-
       sible  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  name-
       serv.

       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  connec-
              tion,  in milliseconds. The default value is 1000, i.e. one sec-
              ond.


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




nns                            0.3                              1





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


       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 lis-
       tening 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 recon-
       nection 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://source-
       forge.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                              2


