Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split agd into Go-only and JS-only executables #7061

Open
JimLarson opened this issue Feb 23, 2023 · 0 comments
Open

Split agd into Go-only and JS-only executables #7061

JimLarson opened this issue Feb 23, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request vaults_triage DO NOT USE

Comments

@JimLarson
Copy link
Contributor

What is the Problem Being Solved?

See #5287.

Description of the Design

From the development plan in #5287

  • Add new JSON-RPC connection type to connections.js and have a modified sim-chain speak it by updating “bridge” device callbacks.
  • Create new agvm binary and command-line, replacing ag-solo.
    • ag-solo can be a simple script for compatibility
  • Create modified “agd start” command to launch agvm and call-to-controller via pipe.
  • The naughty intra-process RPC data exchange bits:
    • vm.ReplyToGo(replyPort int, isError int, resp string) int
    • vm.SendToGo(port int, msg string) string
    • daemon.RunWithController(func (needReply bool, str string) (string, error))

Security Considerations

None.

Scaling Considerations

Might increase bridge communication latency and overhead.

Test Plan

Will need to ensure that termination of either side brings down its peer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request vaults_triage DO NOT USE
Projects
None yet
Development

No branches or pull requests

3 participants