Max Brunsfeld
60ee97be24
Always represent anchor as a versioned offset
...
Remove the `Start` and `End` variants, and always
use the structure that was previously called `Middle`.
This makes Anchors simpler to serialize and deserialize.
2021-06-25 17:02:48 -07:00
Max Brunsfeld
b9952bad8b
Send and receive buffer operations
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-25 16:26:35 -07:00
Max Brunsfeld
04c80578bc
Start work on sending buffer operations
2021-06-25 13:46:36 -07:00
Nathan Sobo
7ee0862b99
Notify host when guests close buffers
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-25 11:33:40 -07:00
Nathan Sobo
2257abd7dd
Add Entity release hooks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-25 10:35:06 -06:00
Antonio Scandurra
d59267a7ef
Move remote
module from workspace
to worktree
2021-06-25 12:14:04 +02:00
Antonio Scandurra
779dbf86dd
Allow cleaning up connections/handlers state using Peer::reset
2021-06-24 15:58:43 +02:00
Max Brunsfeld
ce2f3f664a
Consolidate more logic for joining worktree in Worktree::remote
...
This way we can use this method in tests and avoid
needing to construct a Workspace.
2021-06-23 18:07:09 -07:00
Max Brunsfeld
6a166554e8
Add public method for connecting to RPC server with a given address
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 18:05:03 -07:00
Max Brunsfeld
54c4b31249
Fix last usage of App::test_async in one test
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 18:05:03 -07:00
Max Brunsfeld
efc8bc3124
Add a test-support feature flag that enables compilation of zed::test module
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 18:05:03 -07:00
Max Brunsfeld
a57cb2b189
Add a public gpui::TestAppContext::new method
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 16:34:36 -07:00
Antonio Scandurra
f1587fbb6e
Make replica_id
optional in OpenWorktreeResponse
2021-06-23 17:32:05 +02:00
Antonio Scandurra
02321af08a
Respond to proto::OpenBuffer
requests
2021-06-23 16:20:02 +02:00
Nathan Sobo
c5e08b6548
Eagerly update worktree entries when saving
...
Don't use ModelHandles for storing Files.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-22 17:53:35 -07:00
Max Brunsfeld
dc8e216fcb
WIP - Maintain a set of open buffers on a LocalWorktree
2021-06-22 12:29:58 -07:00
Nathan Sobo
a364839e93
Replace FileHandle with File entity that subscribes to Worktree update events
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 20:40:40 -06:00
Max Brunsfeld
cabf6b1f58
Emit a diff event when worktree's snapshot is updated
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-21 17:07:56 -07:00
Nathan Sobo
8ae5c0d7d6
Implement worktree::Snapshot::diff
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 15:08:21 -06:00
Nathan Sobo
1364ba6f5e
Allow async background work when polling worktree background snapshot
...
This prepares us to perform a diff against the previous snapshot before installing a new worktree snapshot on the foreground thread.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 14:03:29 -06:00
Nathan Sobo
986afd26e9
Remove other_mount_paths
...
We only needed this when we relied on inodes for file identity, which we no longer attempt to do.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-21 13:06:29 -06:00
Antonio Scandurra
5c0f4e572f
💄
2021-06-21 17:30:08 +02:00
Antonio Scandurra
7489e86c47
Fix deadlock when comparing FileHandle
s when handles are the same
2021-06-21 16:18:18 +02:00
Antonio Scandurra
95024c616e
Put back worktree_id
in CloseFile
and OpenBuffer
messages
2021-06-21 14:44:01 +02:00
Antonio Scandurra
2905ce3ba7
WIP: Load remote history
2021-06-21 12:15:58 +02:00
Antonio Scandurra
f4d6fbe14f
Issue only one OpenFile
and CloseFile
request per handle
2021-06-21 12:04:38 +02:00
Max Brunsfeld
96c118b4df
Stub in more logic for open_file and close_file
2021-06-20 22:36:01 -07:00
Nathan Sobo
0deaa3a61d
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-18 17:26:12 -06:00
Nathan Sobo
bfccb173c4
Update prost to include our changes
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-18 15:12:22 -06:00
Max Brunsfeld
a2a6d67e1e
Start work on implementing ::file on remote WorktreeHandles
2021-06-18 13:32:38 -07:00
Antonio Scandurra
f9d8e952f2
WIP
2021-06-18 19:28:39 +02:00
Antonio Scandurra
89d25458ac
Add worktree to workspace when joining a remote worktree
2021-06-18 14:52:38 +02:00
Antonio Scandurra
79cac1340e
Replace Worktree
with an enum
...
For now this enum only contains a `Local` variant, but the next step is
to add a `Remote` variant that will be constructed when joining a remote
worktree.
2021-06-18 12:07:57 +02:00
Max Brunsfeld
7a66cd1ae1
Implement Display for ConnectionId
2021-06-17 20:53:20 -07:00
Max Brunsfeld
cdfb33b283
Add a name to EnvelopedMessage for logging purposes
2021-06-17 20:48:26 -07:00
Max Brunsfeld
7a88e44264
Add menu command to join worktree using URL on clipboard
...
Introduce rpc::Client struct that wraps zed_rpc::Peer
2021-06-17 20:42:36 -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
531443dc9c
Don't generate bindgen layout tests
2021-06-17 15:20:12 -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
4d28d03e3f
Rename handle_message
to on_message
2021-06-17 17:25:10 +02:00
Antonio Scandurra
82ac7e2072
Move handle_messages
into an extension method for Arc<Peer>
2021-06-17 16:32:28 +02: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
Antonio Scandurra
5e4872fdf8
Replace Request and Message with a single TypedEnvelope
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-16 17:43:53 +02:00
Antonio Scandurra
8112efd522
Replace callback-based requests/messages with streams
2021-06-16 14:26:54 +02:00