Skip to content

Commit

Permalink
Better erlang_service protocol
Browse files Browse the repository at this point in the history
Summary:
This changes the protocol erlang service uses to communicate between ELP and erlang to be packet and binary based. This will later unlock migrating to a different transport, but for now transport is the same - stdio.

On the ELP side a lot of processing work is moved out of the reader and writer process and into the requesting thread - this should help with scalability. This also significantly simplifies code separating all the concerns and completely removing the concept of a "mismatched sender".

On the Erlang side, segment serialisation work is also moved into the worker thread, out of the main service gen_server - this should also help with scalability.

Reviewed By: alanz

Differential Revision: D58673021

fbshipit-source-id: a0905cd212f12f4d03f7d55ca30293fb1e8921c2
  • Loading branch information
michalmuskala authored and facebook-github-bot committed Jul 8, 2024
1 parent ce0b616 commit 773b00a
Show file tree
Hide file tree
Showing 9 changed files with 328 additions and 520 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ erl_ast = { path = "./crates/erl_ast" }
always-assert = "0.1.3"
anyhow = "1.0.70"
bpaf = { version = "=0.7.9", features = ["derive", "autocomplete", "batteries"] }
byteorder = "1.5.0"
codespan-reporting = "0.11.1"
cov-mark = "2.0.0-pre.1"
criterion = "0.3.6"
Expand Down
1 change: 1 addition & 0 deletions crates/erlang_service/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ version.workspace = true
elp_syntax.workspace = true

anyhow.workspace = true
byteorder.workspace = true
crossbeam-channel.workspace = true
eetf.workspace = true
fxhash.workspace = true
Expand Down
Loading

0 comments on commit 773b00a

Please sign in to comment.