third_party/mdns: support multiple watchers

  Currently, the mdns package supports only one watcher per service.
  This CL extends it to support multiple watchers for a same service.
  Also it provides a stop function to stop watching.

  Add 'port' to RemoveService() args to uniquely identify the registered
  services better.

  Change to clean expired records more frequently (3 sec) so that a
  watcher can learn goodbye packets quickly.

  Fix data race in setting TTL

  Refactor check functions in unit tests so that error shows the failed
  line better.

MultiPart: 1/2
Change-Id: If0385743a0106b6f3779b49361f1c0752199f2b9
3 files changed
tree: e1be5b5e6f78216963925c95f15b8e0d6aed9535
  1. csrc/
  2. go/
  3. java/
  4. nacl_sdk/
  5. .gitignore
  6. README.md
README.md

This repository contains three kinds of code used in the Vanadium project:

  1. code which originated outside of Google
  2. code which Google has released as open source
  3. Vanadium code which is derived from code that originated outside of Google, and is therefore still subject to that original code's third-party license

Most of the code under third-party is open source, though some packages have restrictive commercial licenses.

Because of Go language conventions, Go packages are found under third_party/go/src/.