[netstack] Pass timestamp in nanos over FIDL

Also add an inline TimestampOption field identifying whether/how to
return the timestamp to the user. The benefit is that once Fast UDP
is turned on, both Sync and Fast UDP will use a single field for
storing the timestamp (though Fast UDP will use a TimestampOption
from its cache rather than the one passed in the FIDL message).

As part of this change, we shuffle the names of FIDL tables used to hold
timestamp data. Renames of tables are binary compatible[1]; we don't
need to worry about source compatibility since this FIDL library isn't
in the sdk.

[1]: https://fuchsia.dev/fuchsia-src/development/languages/fidl/guides/compatibility?hl=en#renames

Fixed: 103171
Change-Id: I4b7ea03abacb0bc279babbb67f2892ec3e4f2237
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/692720
Reviewed-by: Tamir Duberstein <tamird@google.com>
API-Review: Bruno Dal Bo <brunodalbo@google.com>
Commit-Queue: Nick Brown <nickbrow@google.com>
Reviewed-by: Bruno Dal Bo <brunodalbo@google.com>
5 files changed
tree: 4eb773280d6fa722e9c97b9303ef4119a3926c34
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.