[bedrock] Implement Remote for Open and use it to serve the namespace

After converting Dict to Open, now we implement Remote to get a
fuchsia.io/Directory connection.

The meaning of Remote for Open is to open the capability and return a
client endpoint.

The primary advantage of this design is that both Remote and TryIntoOpen
now has a purpose:

- TryIntoOpen tries to convert a capability into Open, which integrates
  with fuchsia.io. This is a place for us to put a variety of fuchsia.io
  logic, such as node name validation.
- Remote convert a capability into a handle. In case of Open
  capabilities, it will always open the capability with semantics
  determined by fuchsia.io

Change-Id: I2016914fa509323407efb883741994dc111851ce
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/881351
Fuchsia-Auto-Submit: Yifei Teng <yifeit@google.com>
Reviewed-by: Yegor Pomortsev <ypomortsev@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
6 files changed
tree: c20ba1680c0e24d9bf32c262798cbfb4bbef55d0
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. infra/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gitmodules
  21. .gn
  22. .ignore
  23. .style.yapf
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyrightconfig.json
  34. README.md
  35. 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.