nameserv::auto - Name service facility, Client Extension
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.
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.
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.
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.
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.
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category nameserv of the Tcllib Trackers. Please also report any ideas for enhancements you may have for either package and/or documentation.