Rename zrpc to rpc
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
parent
fdfed3d7db
commit
d5b60ad124
26 changed files with 62 additions and 66 deletions
350
crates/rpc/proto/zed.proto
Normal file
350
crates/rpc/proto/zed.proto
Normal file
|
@ -0,0 +1,350 @@
|
|||
syntax = "proto3";
|
||||
package zed.messages;
|
||||
|
||||
message Envelope {
|
||||
uint32 id = 1;
|
||||
optional uint32 responding_to = 2;
|
||||
optional uint32 original_sender_id = 3;
|
||||
oneof payload {
|
||||
Ack ack = 4;
|
||||
Error error = 5;
|
||||
Ping ping = 6;
|
||||
ShareWorktree share_worktree = 7;
|
||||
ShareWorktreeResponse share_worktree_response = 8;
|
||||
JoinWorktree join_worktree = 9;
|
||||
JoinWorktreeResponse join_worktree_response = 10;
|
||||
UpdateWorktree update_worktree = 11;
|
||||
CloseWorktree close_worktree = 12;
|
||||
OpenBuffer open_buffer = 13;
|
||||
OpenBufferResponse open_buffer_response = 14;
|
||||
CloseBuffer close_buffer = 15;
|
||||
UpdateBuffer update_buffer = 16;
|
||||
SaveBuffer save_buffer = 17;
|
||||
BufferSaved buffer_saved = 18;
|
||||
AddPeer add_peer = 19;
|
||||
RemovePeer remove_peer = 20;
|
||||
GetChannels get_channels = 21;
|
||||
GetChannelsResponse get_channels_response = 22;
|
||||
GetUsers get_users = 23;
|
||||
GetUsersResponse get_users_response = 24;
|
||||
JoinChannel join_channel = 25;
|
||||
JoinChannelResponse join_channel_response = 26;
|
||||
LeaveChannel leave_channel = 27;
|
||||
SendChannelMessage send_channel_message = 28;
|
||||
SendChannelMessageResponse send_channel_message_response = 29;
|
||||
ChannelMessageSent channel_message_sent = 30;
|
||||
GetChannelMessages get_channel_messages = 31;
|
||||
GetChannelMessagesResponse get_channel_messages_response = 32;
|
||||
OpenWorktree open_worktree = 33;
|
||||
OpenWorktreeResponse open_worktree_response = 34;
|
||||
UnshareWorktree unshare_worktree = 35;
|
||||
UpdateCollaborators update_collaborators = 36;
|
||||
LeaveWorktree leave_worktree = 37;
|
||||
}
|
||||
}
|
||||
|
||||
// Messages
|
||||
|
||||
message Ping {}
|
||||
|
||||
message Ack {}
|
||||
|
||||
message Error {
|
||||
string message = 1;
|
||||
}
|
||||
|
||||
message OpenWorktree {
|
||||
string root_name = 1;
|
||||
repeated string collaborator_logins = 2;
|
||||
}
|
||||
|
||||
message OpenWorktreeResponse {
|
||||
uint64 worktree_id = 1;
|
||||
}
|
||||
|
||||
message ShareWorktree {
|
||||
Worktree worktree = 1;
|
||||
}
|
||||
|
||||
message ShareWorktreeResponse {}
|
||||
|
||||
message UnshareWorktree {
|
||||
uint64 worktree_id = 1;
|
||||
}
|
||||
|
||||
message JoinWorktree {
|
||||
uint64 worktree_id = 1;
|
||||
}
|
||||
|
||||
message LeaveWorktree {
|
||||
uint64 worktree_id = 1;
|
||||
}
|
||||
|
||||
message JoinWorktreeResponse {
|
||||
Worktree worktree = 2;
|
||||
uint32 replica_id = 3;
|
||||
repeated Peer peers = 4;
|
||||
}
|
||||
|
||||
message UpdateWorktree {
|
||||
uint64 worktree_id = 1;
|
||||
repeated Entry updated_entries = 2;
|
||||
repeated uint64 removed_entries = 3;
|
||||
}
|
||||
|
||||
message CloseWorktree {
|
||||
uint64 worktree_id = 1;
|
||||
}
|
||||
|
||||
message AddPeer {
|
||||
uint64 worktree_id = 1;
|
||||
Peer peer = 2;
|
||||
}
|
||||
|
||||
message RemovePeer {
|
||||
uint64 worktree_id = 1;
|
||||
uint32 peer_id = 2;
|
||||
}
|
||||
|
||||
message OpenBuffer {
|
||||
uint64 worktree_id = 1;
|
||||
string path = 2;
|
||||
}
|
||||
|
||||
message OpenBufferResponse {
|
||||
Buffer buffer = 1;
|
||||
}
|
||||
|
||||
message CloseBuffer {
|
||||
uint64 worktree_id = 1;
|
||||
uint64 buffer_id = 2;
|
||||
}
|
||||
|
||||
message UpdateBuffer {
|
||||
uint64 worktree_id = 1;
|
||||
uint64 buffer_id = 2;
|
||||
repeated Operation operations = 3;
|
||||
}
|
||||
|
||||
message SaveBuffer {
|
||||
uint64 worktree_id = 1;
|
||||
uint64 buffer_id = 2;
|
||||
}
|
||||
|
||||
message BufferSaved {
|
||||
uint64 worktree_id = 1;
|
||||
uint64 buffer_id = 2;
|
||||
repeated VectorClockEntry version = 3;
|
||||
Timestamp mtime = 4;
|
||||
}
|
||||
|
||||
message GetChannels {}
|
||||
|
||||
message GetChannelsResponse {
|
||||
repeated Channel channels = 1;
|
||||
}
|
||||
|
||||
message JoinChannel {
|
||||
uint64 channel_id = 1;
|
||||
}
|
||||
|
||||
message JoinChannelResponse {
|
||||
repeated ChannelMessage messages = 1;
|
||||
bool done = 2;
|
||||
}
|
||||
|
||||
message LeaveChannel {
|
||||
uint64 channel_id = 1;
|
||||
}
|
||||
|
||||
message GetUsers {
|
||||
repeated uint64 user_ids = 1;
|
||||
}
|
||||
|
||||
message GetUsersResponse {
|
||||
repeated User users = 1;
|
||||
}
|
||||
|
||||
message SendChannelMessage {
|
||||
uint64 channel_id = 1;
|
||||
string body = 2;
|
||||
Nonce nonce = 3;
|
||||
}
|
||||
|
||||
message SendChannelMessageResponse {
|
||||
ChannelMessage message = 1;
|
||||
}
|
||||
|
||||
message ChannelMessageSent {
|
||||
uint64 channel_id = 1;
|
||||
ChannelMessage message = 2;
|
||||
}
|
||||
|
||||
message GetChannelMessages {
|
||||
uint64 channel_id = 1;
|
||||
uint64 before_message_id = 2;
|
||||
}
|
||||
|
||||
message GetChannelMessagesResponse {
|
||||
repeated ChannelMessage messages = 1;
|
||||
bool done = 2;
|
||||
}
|
||||
|
||||
message UpdateCollaborators {
|
||||
repeated Collaborator collaborators = 1;
|
||||
}
|
||||
|
||||
// Entities
|
||||
|
||||
message Peer {
|
||||
uint32 peer_id = 1;
|
||||
uint32 replica_id = 2;
|
||||
}
|
||||
|
||||
message User {
|
||||
uint64 id = 1;
|
||||
string github_login = 2;
|
||||
string avatar_url = 3;
|
||||
}
|
||||
|
||||
message Worktree {
|
||||
uint64 id = 1;
|
||||
string root_name = 2;
|
||||
repeated Entry entries = 3;
|
||||
}
|
||||
|
||||
message Entry {
|
||||
uint64 id = 1;
|
||||
bool is_dir = 2;
|
||||
string path = 3;
|
||||
uint64 inode = 4;
|
||||
Timestamp mtime = 5;
|
||||
bool is_symlink = 6;
|
||||
bool is_ignored = 7;
|
||||
}
|
||||
|
||||
message Buffer {
|
||||
uint64 id = 1;
|
||||
string content = 2;
|
||||
repeated Operation.Edit history = 3;
|
||||
repeated SelectionSetSnapshot selections = 4;
|
||||
}
|
||||
|
||||
message SelectionSetSnapshot {
|
||||
uint32 replica_id = 1;
|
||||
uint32 local_timestamp = 2;
|
||||
repeated Selection selections = 3;
|
||||
bool is_active = 4;
|
||||
}
|
||||
|
||||
message SelectionSet {
|
||||
repeated Selection selections = 1;
|
||||
}
|
||||
|
||||
message Selection {
|
||||
uint64 id = 1;
|
||||
Anchor start = 2;
|
||||
Anchor end = 3;
|
||||
bool reversed = 4;
|
||||
}
|
||||
|
||||
message Anchor {
|
||||
repeated VectorClockEntry version = 1;
|
||||
uint64 offset = 2;
|
||||
Bias bias = 3;
|
||||
enum Bias {
|
||||
LEFT = 0;
|
||||
Right = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message Operation {
|
||||
oneof variant {
|
||||
Edit edit = 1;
|
||||
Undo undo = 2;
|
||||
UpdateSelections update_selections = 3;
|
||||
SetActiveSelections set_active_selections = 4;
|
||||
}
|
||||
|
||||
message Edit {
|
||||
uint32 replica_id = 1;
|
||||
uint32 local_timestamp = 2;
|
||||
uint32 lamport_timestamp = 3;
|
||||
repeated VectorClockEntry version = 4;
|
||||
repeated Range ranges = 5;
|
||||
optional string new_text = 6;
|
||||
}
|
||||
|
||||
message Undo {
|
||||
uint32 replica_id = 1;
|
||||
uint32 local_timestamp = 2;
|
||||
uint32 lamport_timestamp = 3;
|
||||
repeated Range ranges = 4;
|
||||
repeated VectorClockEntry version = 5;
|
||||
repeated UndoCount counts = 6;
|
||||
}
|
||||
|
||||
message UndoCount {
|
||||
uint32 replica_id = 1;
|
||||
uint32 local_timestamp = 2;
|
||||
uint32 count = 3;
|
||||
}
|
||||
|
||||
message UpdateSelections {
|
||||
uint32 replica_id = 1;
|
||||
uint32 local_timestamp = 2;
|
||||
uint32 lamport_timestamp = 3;
|
||||
SelectionSet set = 4;
|
||||
}
|
||||
|
||||
message SetActiveSelections {
|
||||
uint32 replica_id = 1;
|
||||
optional uint32 local_timestamp = 2;
|
||||
uint32 lamport_timestamp = 3;
|
||||
}
|
||||
}
|
||||
|
||||
message VectorClockEntry {
|
||||
uint32 replica_id = 1;
|
||||
uint32 timestamp = 2;
|
||||
}
|
||||
|
||||
message Timestamp {
|
||||
uint64 seconds = 1;
|
||||
uint32 nanos = 2;
|
||||
}
|
||||
|
||||
message Range {
|
||||
uint64 start = 1;
|
||||
uint64 end = 2;
|
||||
}
|
||||
|
||||
message Nonce {
|
||||
uint64 upper_half = 1;
|
||||
uint64 lower_half = 2;
|
||||
}
|
||||
|
||||
message Channel {
|
||||
uint64 id = 1;
|
||||
string name = 2;
|
||||
}
|
||||
|
||||
message ChannelMessage {
|
||||
uint64 id = 1;
|
||||
string body = 2;
|
||||
uint64 timestamp = 3;
|
||||
uint64 sender_id = 4;
|
||||
Nonce nonce = 5;
|
||||
}
|
||||
|
||||
message Collaborator {
|
||||
uint64 user_id = 1;
|
||||
repeated WorktreeMetadata worktrees = 2;
|
||||
}
|
||||
|
||||
message WorktreeMetadata {
|
||||
uint64 id = 1;
|
||||
string root_name = 2;
|
||||
bool is_shared = 3;
|
||||
repeated uint64 guests = 4;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue