TheFramework

From Hegemon Wiki
Jump to navigation Jump to search

Outline

  • Multi-user realtime 3d graphics editor.
  • Microservice inspired architecture. But use IPC/shared memory when possible.
  • Need a local daemon as a gateway/introducer for the services.
  • Hash all the things.

RPC

Message Format

  • Capnproto is a bit of a pain to integrate into Rust.
  • Maybe just use Rust structs? Can redefine them separately later...
  • Could use codegen... Can go from Rust structs to external format.
  • Could keep them in Rust native and provide a C library interface to interact with them.

Enums vs "strings"?

  • Strings much more waste on the wire.
  • Strings allow for custom types. Could just add a custom type enum.
  • Enums could be backwards compatible if you just ignore anything you don't understand.

ASync

Look into using tokio for async.

Daemonization

2 libraries. One doesn't do Windows but seems better?

IPC

Servo has an ipc-channel crate. Doesn't do Windows yet.