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.

* Will add README.google after p@ push this to the github repository.

MultiPart: 2/2
Change-Id: I0bcb334e0f620d146ca0190e90a4d699c4ca2554
1 file changed
tree: 057a513fc6f0c5da6e8b756626d4c450f781d67f
  1. cmd/
  2. examples/
  3. internal/
  4. lib/
  5. runtime/
  6. services/
  7. test/
  8. .gitignore
  9. AUTHORS
  10. CONTRIBUTING
  11. CONTRIBUTORS
  12. envvar.go
  13. envvar_test.go
  14. LICENSE
  15. PATENTS
  16. README.md
  17. VERSION
README.md

Vanadium

This repository contains a reference implementation of the Vanadium APIs.

Unlike the APIs in https://github.com/vanadium/go.v23, which promises to provide backward compatibility this repository makes no such promises.