mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-27 04:44:30 +00:00
139 lines
3.1 KiB
Protocol Buffer
139 lines
3.1 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package livekit;
|
||
|
option go_package = "github.com/livekit/protocol/livekit";
|
||
|
option csharp_namespace = "LiveKit.Proto";
|
||
|
option ruby_package = "LiveKit::Proto";
|
||
|
|
||
|
// internal protos, not exposed to clients
|
||
|
import "livekit_models.proto";
|
||
|
import "livekit_rtc.proto";
|
||
|
import "livekit_room.proto";
|
||
|
|
||
|
enum NodeType {
|
||
|
SERVER = 0;
|
||
|
CONTROLLER = 1;
|
||
|
MEDIA = 2;
|
||
|
TURN = 4;
|
||
|
}
|
||
|
|
||
|
enum NodeState {
|
||
|
STARTING_UP = 0;
|
||
|
SERVING = 1;
|
||
|
SHUTTING_DOWN = 2;
|
||
|
}
|
||
|
|
||
|
message Node {
|
||
|
string id = 1;
|
||
|
string ip = 2;
|
||
|
uint32 num_cpus = 3;
|
||
|
NodeStats stats = 4;
|
||
|
NodeType type = 5;
|
||
|
NodeState state = 6;
|
||
|
string region = 7;
|
||
|
}
|
||
|
|
||
|
message NodeStats {
|
||
|
// when server was started
|
||
|
int64 started_at = 1;
|
||
|
// when server last reported its status
|
||
|
int64 updated_at = 2;
|
||
|
|
||
|
// room
|
||
|
int32 num_rooms = 3;
|
||
|
int32 num_clients = 4;
|
||
|
int32 num_tracks_in = 5;
|
||
|
int32 num_tracks_out = 6;
|
||
|
|
||
|
// packet
|
||
|
uint64 bytes_in = 7;
|
||
|
uint64 bytes_out = 8;
|
||
|
uint64 packets_in = 9;
|
||
|
uint64 packets_out = 10;
|
||
|
uint64 nack_total = 11;
|
||
|
float bytes_in_per_sec = 12;
|
||
|
float bytes_out_per_sec = 13;
|
||
|
float packets_in_per_sec = 14;
|
||
|
float packets_out_per_sec = 15;
|
||
|
float nack_per_sec = 16;
|
||
|
|
||
|
// system
|
||
|
uint32 num_cpus = 17;
|
||
|
float load_avg_last1min = 18;
|
||
|
float load_avg_last5min = 19;
|
||
|
float load_avg_last15min = 20;
|
||
|
float cpu_load = 21;
|
||
|
uint32 sys_packets_out = 28;
|
||
|
uint32 sys_packets_dropped = 29;
|
||
|
float sys_packets_out_per_sec = 30;
|
||
|
float sys_packets_dropped_per_sec = 31;
|
||
|
float sys_packets_dropped_pct_per_sec = 32;
|
||
|
|
||
|
// retransmissions
|
||
|
uint64 retransmit_bytes_out = 22;
|
||
|
uint64 retransmit_packets_out = 23;
|
||
|
float retransmit_bytes_out_per_sec = 24;
|
||
|
float retransmit_packets_out_per_sec = 25;
|
||
|
|
||
|
// participant joins
|
||
|
uint64 participant_join = 26;
|
||
|
float participant_join_per_sec = 27;
|
||
|
}
|
||
|
|
||
|
// message to RTC nodes
|
||
|
message RTCNodeMessage {
|
||
|
string participant_key = 1;
|
||
|
int64 sender_time = 11;
|
||
|
string connection_id = 13;
|
||
|
oneof message {
|
||
|
StartSession start_session = 2;
|
||
|
SignalRequest request = 3;
|
||
|
// internal messages
|
||
|
RoomParticipantIdentity remove_participant = 4;
|
||
|
MuteRoomTrackRequest mute_track = 5;
|
||
|
UpdateParticipantRequest update_participant = 6;
|
||
|
DeleteRoomRequest delete_room = 7;
|
||
|
UpdateSubscriptionsRequest update_subscriptions = 8;
|
||
|
SendDataRequest send_data = 9;
|
||
|
UpdateRoomMetadataRequest update_room_metadata = 10;
|
||
|
KeepAlive keep_alive = 12;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// message to Signal nodes
|
||
|
message SignalNodeMessage {
|
||
|
string connection_id = 1;
|
||
|
oneof message {
|
||
|
SignalResponse response = 2;
|
||
|
EndSession end_session = 3;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
message StartSession {
|
||
|
string room_name = 1;
|
||
|
string identity = 2;
|
||
|
string connection_id = 3;
|
||
|
// if a client is reconnecting (i.e. resume instead of restart)
|
||
|
bool reconnect = 4;
|
||
|
bool auto_subscribe = 9;
|
||
|
bool hidden = 10;
|
||
|
ClientInfo client = 11;
|
||
|
bool recorder = 12;
|
||
|
string name = 13;
|
||
|
// A user's ClaimGrants serialized in JSON
|
||
|
string grants_json = 14;
|
||
|
bool adaptive_stream = 15;
|
||
|
//if reconnect, client will set current sid
|
||
|
string participant_id = 16;
|
||
|
}
|
||
|
|
||
|
message EndSession {
|
||
|
}
|
||
|
|
||
|
message RemoveParticipant {
|
||
|
string participant_id = 1;
|
||
|
}
|
||
|
|
||
|
message KeepAlive {
|
||
|
}
|