nns(1)

๐Ÿ’– nns โ€” Name service facility, Commandline Client Application ๐Ÿ’–

okay bestie, welcome to the nns(1) manual page ๐ŸŽ€ it's a section 1 page, it lives in tcllib, and it's literally the glow-up your name service needed. sit down, grab a strawberry drink ๐Ÿ“, we're doing this.


โœจ NAME โœจ

nns โ€” Name service facility, Commandline Client Application ๐Ÿ‘‘


๐ŸŒธ SYNOPSIS ๐ŸŒธ

nns bind ?-host host? ?-port port? name data

nns search ?-host host? ?-port port? ?-continuous? ?pattern?

nns ident ?-host host? ?-port port?

nns who

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

first things first, babe: go read Name service facility, introduction before you touch any of this. it's giving required reading, i don't make the rules ๐Ÿ’…

so. the app this doc is about, nns, is a simple command line client for the nano name service facility that comes from the Tcllib packages nameserv and nameserv::server. and not only that โ€” the application's sources also serve as a whole example of how to use the client package nameserv. like, every single ability a client has is covered in there: from configuration, to registration of names, to searching. all of it. no crumbs left. ๐Ÿ”ฅ

โš ๏ธ important psa: this name service facility has nothing to do with the Internet's Domain Name System, aka DNS. like, zero. not the same thing, not related, don't @ me. if you are looking for a package that deals with that, please see either of the packages dns and resolv โ€” both of which are found in Tcllib too. ๐Ÿซถ

๐Ÿ‘‘ USE CASES ๐Ÿ‘‘

nns was written with these two main use cases in mind, periodt:

  1. Registration of a name/data pair in the name service. ๐Ÿ“
  2. Searching the name service for entries matching a glob pattern. ๐Ÿ”

and beyond the above? we also wanna be able to identify the client, and get information about the name service. main character energy all around โœจ

๐Ÿ’ป COMMAND LINE ๐Ÿ’ป

  • nns bind ?-host host? ?-port port? name data โ€” this form registers the name/data pair in the specified name service. and here's the thing: in this form the command will not exit, because it has to keep the registration alive. so you have to kill it explicitly โ€” either by sending a signal, or through the job-control facilities of whatever shell you're using. and it will especially survive the loss of the connection to the name service, and reestablish the name/data pair when the connection is restored. resilient queen ๐Ÿ’ช

the options to specify the name service get explained later, in the section OPTIONS.

  • nns search ?-host host? ?-port port? ?-continuous? ?pattern? โ€” this form searches the specified name service for entries matching the glob-pattern and prints them to stdout, with each entry on its own line. if no pattern is specified it defaults to *, matching everything. (so generous of it ๐Ÿฅฐ)

the options to specify the name service get explained later, in the section OPTIONS.

if the option -continuous is specified, the client will not exit after performing the search โ€” instead it starts to continuously monitor the service for changes to the set of matching entries, appropriately updating the display as changes arrive. and in that form it will especially also survive the loss of the connection to the name service, and reestablish the search when the connection is restored. it's committed, it's loyal, it's everything ๐Ÿ˜ญ

  • nns ident ?-host host? ?-port port? โ€” this form asks the specified name service for the version and features of the name service protocol it supports, and prints the results to stdout. it's basically asking the service "who are you and what can you do" and the service answers. iconic. ๐ŸŽ€

the options to specify the name service get explained later, in the section OPTIONS.

  • nns who โ€” this form prints name, version, and protocol version of the application to stdout. it's the app's little "hi, this is me" moment ๐Ÿ’…

โœจ OPTIONS โœจ

this section describes all the options available to the user of the application. all of them. we don't gatekeep here.

  • -host name|ipaddress โ€” if this option is not specified it defaults to localhost. it specifies the name or ip-address of the host the name service to talk to is running on. ๐Ÿ 
  • -port number โ€” if this option is not specified it defaults to 38573. it specifies the TCP port the name service to talk to is listening on for requests. ๐Ÿ“ฎ

๐Ÿซถ BUGS, IDEAS, FEEDBACK ๐Ÿซถ

ngl, this document, and the package it describes, will undoubtedly contain bugs and other problems. it's fine, we're all growing ๐ŸŒฑ please report such in the category nameserv of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist]. and please also report any ideas for enhancements you may have for either package and/or documentation โ€” we want the ideas, we love the ideas ๐Ÿ’œ

when proposing code changes, please provide unified diffs, i.e the output of diff -u.

๐Ÿ“Œ note further that attachments are strongly preferred over inlined patches. attachments can be made by going to the Edit form of the ticket immediately after its creation, and then using the left-most button in the secondary navigation bar. do it that way bestie, trust ๐Ÿคž

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

  • nameserv(3tcl)
  • nameserv::common(3tcl)

๐ŸŽ€ KEYWORDS ๐ŸŽ€

application, client, name service


๐Ÿ’… CATEGORY ๐Ÿ’…

Networking


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


okay that's the whole page, you ate that ๐Ÿฝ๏ธ this was tcllib 1.1, the nns(1) manual page, and you're officially caught up. go register some name/data pairs, bestie, and remember: not DNS. never DNS. bye babe ๐Ÿ’–โœจ๐Ÿฆ‹

๐Ÿ“ฆ where this page comes from