Commit Graph

23 Commits

Author SHA1 Message Date
Max Brunsfeld
cdfb33b283 Add a name to EnvelopedMessage for logging purposes 2021-06-17 20:48:26 -07:00
Max Brunsfeld
3a78f053f6 Use strings for paths and buffer contents 2021-06-17 16:25:30 -07:00
Max Brunsfeld
f4dccc5353 Replace POST /worktrees rest endpoint with GET /rpc-address
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-17 16:11:54 -07:00
Max Brunsfeld
2fd0f0be50 Make TypedEnvelope fields public 2021-06-17 15:54:55 -07:00
Max Brunsfeld
a3c938cc77 Ignore message-handling error in disconnect unit test 2021-06-17 15:20:56 -07:00
Max Brunsfeld
05a662b35e Allow peers to receive individual messages before starting message loop
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-17 14:19:15 -07:00
Antonio Scandurra
d243395e06 Use an i32 for user_id in RPC authentication message 2021-06-17 14:51:06 +02:00
Max Brunsfeld
c5cec247c4 Fix termination of peer's incoming future
* Re-enable peer tests
* Enhance request/response unit test to exercise
  peers interacting with each other end-to-end
2021-06-16 21:18:22 -07:00
Max Brunsfeld
fb736d5e78 Remove peer message listeners when their receiver is dropped 2021-06-16 17:02:40 -07:00
Antonio Scandurra
9de4d73ffb Move RpcClient to zed_rpc and rename it to Peer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-16 18:01:26 +02:00
Max Brunsfeld
8b66e0aa7e WIP - Allow RpcClient to register handlers for incoming messages 2021-06-15 17:22:48 -07:00
Max Brunsfeld
3db215418c Allow RpcClient to encapsulate arbitrarily many connections 2021-06-15 14:12:42 -07:00
Max Brunsfeld
e88f33851e Flatten protobuf message namespace
* Remove `FromClient`/`FromServer` distinction.
* Remove `subscribe` concept - clients will need to handle
  unprompted messages from the server.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-15 13:06:50 -07:00
Antonio Scandurra
301531ae04 Test RpcClient::subscribe 2021-06-15 10:46:23 +02:00
Antonio Scandurra
cd1a4c49cf Use a fixed-length delimiter for encoding/decoding messages in RPC
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-06-14 18:33:34 +02:00
Max Brunsfeld
b2b1ce5e81 Start work on RpcClient 2021-06-11 14:47:13 -07:00
Max Brunsfeld
86ff599285 Use tiny_http for handling login HTTP request
Our manual HTTP parsing and encoding was not working with Safari.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-11 10:28:00 -07:00
Antonio Scandurra
4efebdaa52 Switch CreateWorktreeResponse::worktree_id to be a i32
Apparently all IDs in `sqlx` on the server are represented as i32s.
2021-06-11 16:15:06 +02:00
Max Brunsfeld
20542f54ef Start work on connecting to RPC endpoint
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-10 22:12:04 -07:00
Max Brunsfeld
9c5c9fdc36 Add initial messages for setting up a worktree share 2021-06-09 18:14:30 -07:00
Max Brunsfeld
a10f4bb4ff Introduce zed_rpc::proto module containing protobuf stream logic
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-09 13:19:12 -07:00
Max Brunsfeld
3214fef727 Ensure that base64 token values are URL-safe 2021-06-08 13:58:38 -07:00
Max Brunsfeld
327c20510b Introduce zed-rpc with some shared auth utilities 2021-06-08 13:07:06 -07:00