v23proxy: Use raw bytes in transcoder (+ benchmarks for proxy)

New simple rpc ns/op:
5604094

Old simple rpc ns/op:
6902132

Note: transcodes of maps still use vdl.Value -- this can be
changed in the future

MultiPart: 1/2
Change-Id: I3595599a04c54135a06dea6e1a79fd275e0e8131
14 files changed
tree: 96ea23dcdeb0f5dad61160b3890f84b8b9bddde4
  1. dart-examples/
  2. go/
  3. lib/
  4. mojom/
  5. .gitignore
  6. AUTHORS
  7. CONTRIBUTING.md
  8. CONTRIBUTORS
  9. LICENSE
  10. Makefile
  11. mojoconfig
  12. PATENTS
  13. pubspec.yaml
  14. README.md
  15. VERSION
README.md

Mojo + v23 RPCs

This repository implements the proposal outlined here that enables communication between Mojo applications on different devices.

Prerequisites

You must have the jiri tool installed with the base and mojo v23-profiles.

To update v23proxy to the latest version of mojo, you will need to also have the mojo-dev profile.

Quick start

You must always make build first. (The Makefile is not very good currently.)

  • For desktop: make build
  • For android: ANDROID=1 make build

The commands above build the .mojo shared library that can be run by mojo shells. For example:

  • make start-v23proxy
  • HOME=/tmp make ARGS="{see Makefile}" start-echo-client

You can also run these with Android devices. Use an ANDROID={N} prefix to run on the Nth Android device connected to your machine. N must be a positive integer.

Note: To run these examples, the devices used must run mojo_shell on the same local network.

Updating v23proxy to the latest version of mojo

Prefix all commands with USE_MOJO_DEV_PROFILE=1 in order to run with the mojo-dev profile instead of mojo.