1
2[//000000001]: # (udpcluster \- Lightweight UDP based tool for cluster node discovery)
3[//000000002]: # (Generated from file 'udpcluster\.man' by tcllib/doctools with format 'markdown')
4[//000000003]: # (Copyright &copy; 2016\-2018 Sean Woods <yoda@etoyoc\.com>)
5[//000000004]: # (udpcluster\(n\) 0\.3\.3 tcllib "Lightweight UDP based tool for cluster node discovery")
6
7<hr> [ <a href="../../../../toc.md">Main Table Of Contents</a> &#124; <a
8href="../../../toc.md">Table Of Contents</a> &#124; <a
9href="../../../../index.md">Keyword Index</a> &#124; <a
10href="../../../../toc0.md">Categories</a> &#124; <a
11href="../../../../toc1.md">Modules</a> &#124; <a
12href="../../../../toc2.md">Applications</a> ] <hr>
13
14# NAME
15
16udpcluster \- UDP Peer\-to\-Peer cluster
17
18# <a name='toc'></a>Table Of Contents
19
20  - [Table Of Contents](#toc)
21
22  - [Synopsis](#synopsis)
23
24  - [Description](#section1)
25
26  - [Bugs, Ideas, Feedback](#section2)
27
28  - [Keywords](#keywords)
29
30  - [Category](#category)
31
32  - [Copyright](#copyright)
33
34# <a name='synopsis'></a>SYNOPSIS
35
36package require Tcl 8\.5
37package require udpcluster ?0\.3\.3?
38package require ip
39package require nettool
40package require comm
41package require interp
42package require dicttool
43package require cron
44
45# <a name='description'></a>DESCRIPTION
46
47This package is a lightweight alternative to Zeroconf\. It utilizes UDP packets
48to populate a table of services provided by each node on a local network\. Each
49participant broadcasts a key/value list in plain UTF\-8 which lists what ports
50are open, and what protocols are expected on those ports\. Developers are free to
51add any additional key/value pairs beyond those\.
52
53Using udpcluster\.
54
55For every service you wish to publish invoke:
56
57    cluster::publish echo@[cluster::macid] {port 10000 protocol echo}
58
59To query what services are available on the local network:
60
61    set results [cluster::search PATTERN]
62    # And inside that result...
63    echo@LOCALMACID {
64       port 10000
65       protocol echo
66    }
67
68To unpublish a service:
69
70    cluster::unpublish echo@[cluster::macid]
71
72Results will Historical Notes:
73
74This tool was originally known as nns::cluster, but as development progressed,
75it was clear that it wasn't interacting with any of the other facilities in NNS\.
76
77# <a name='section2'></a>Bugs, Ideas, Feedback
78
79This document, and the package it describes, will undoubtedly contain bugs and
80other problems\. Please report such in the category *nameserv* of the [Tcllib
81Trackers](http://core\.tcl\.tk/tcllib/reportlist)\. Please also report any ideas
82for enhancements you may have for either package and/or documentation\.
83
84When proposing code changes, please provide *unified diffs*, i\.e the output of
85__diff \-u__\.
86
87Note further that *attachments* are strongly preferred over inlined patches\.
88Attachments can be made by going to the __Edit__ form of the ticket
89immediately after its creation, and then using the left\-most button in the
90secondary navigation bar\.
91
92# <a name='keywords'></a>KEYWORDS
93
94[name service](\.\./\.\./\.\./\.\./index\.md\#name\_service),
95[server](\.\./\.\./\.\./\.\./index\.md\#server)
96
97# <a name='category'></a>CATEGORY
98
99Networking
100
101# <a name='copyright'></a>COPYRIGHT
102
103Copyright &copy; 2016\-2018 Sean Woods <yoda@etoyoc\.com>
104