Page MenuHomePhabricator

[backup] Add new dependencies
ClosedPublic

Authored by michal on Dec 22 2023, 7:41 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jul 5, 3:52 AM
Unknown Object (File)
Sun, Jun 30, 8:54 PM
Unknown Object (File)
Tue, Jun 25, 3:35 PM
Unknown Object (File)
Tue, Jun 25, 11:40 AM
Unknown Object (File)
Mon, Jun 24, 3:10 PM
Unknown Object (File)
Sat, Jun 22, 8:23 AM
Unknown Object (File)
Sat, Jun 22, 8:23 AM
Unknown Object (File)
Sat, Jun 22, 8:15 AM
Subscribers

Details

Summary

Adding new dependencies, used in the later diffs.

Depends on D10451

Test Plan

N/A

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

services/backup/Cargo.toml
36–38 ↗(On Diff #34989)

Websockets in actix use more of the actix actor framework, while writing the HTTP endpoints was mostly abstracted away from it. That's why we need a few new deps.

39 ↗(On Diff #34989)

Alternative (de)serialization format that we can use instead of JSON for sending the logs (which are going to be mostly encrypted bytes). Seems pretty widely used (2.3M downloads for this version and 50M in total).

If there are any problems with porting the rust network client to WASM for the web we can probably just use JSON. Base64 has ~33% overhead which we can use for encoding the byte payload. If this turns out the be a performance problem we can migrate to some language-agnostic format like protobuf.

ashoat added inline comments.
services/backup/Cargo.toml
39 ↗(On Diff #34989)

Worth discussing the tradeoffs here. In our 1:1 we considered protobufs, but it might be annoying to get the types for the JS code (codegen only handles TS, not Flow)

I think bincode is probably fine, but if we can't get it to work via WASM it's worth revisiting this

This revision is now accepted and ready to land.Dec 22 2023, 8:29 AM