lan discovery in socket_cs

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou
2021-12-18 23:38:50 +08:00
parent 362b5594a2
commit 87f50a6318
15 changed files with 446 additions and 22 deletions

View File

@@ -2,7 +2,7 @@ fn main() {
std::fs::create_dir_all("src/protos").unwrap();
protobuf_codegen_pure::Codegen::new()
.out_dir("src/protos")
.inputs(&["protos/rendezvous.proto", "protos/message.proto"])
.inputs(&["protos/rendezvous.proto", "protos/base_proto.proto", "protos/message.proto", "protos/discovery.proto"])
.include("protos")
.run()
.expect("Codegen failed.");

View File

@@ -0,0 +1,21 @@
syntax = "proto3";
package base;
message DisplayInfo {
sint32 x = 1;
sint32 y = 2;
int32 width = 3;
int32 height = 4;
string name = 5;
bool online = 6;
}
message PeerInfo {
string username = 1;
string hostname = 2;
string platform = 3;
repeated DisplayInfo displays = 4;
int32 current_display = 5;
bool sas_enabled = 6;
string version = 7;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
package discovery;
import "base_proto.proto";
message Discovery {
base.PeerInfo peer = 1;
/// response port for current listening port(udp for now)
int32 port = 2;
}

View File

@@ -1,6 +1,8 @@
syntax = "proto3";
package hbb;
import "base_proto.proto";
message VP9 {
bytes data = 1;
bool key = 2;
@@ -25,15 +27,6 @@ message VideoFrame {
}
}
message DisplayInfo {
sint32 x = 1;
sint32 y = 2;
int32 width = 3;
int32 height = 4;
string name = 5;
bool online = 6;
}
message PortForward {
string host = 1;
int32 port = 2;
@@ -58,20 +51,10 @@ message LoginRequest {
message ChatMessage { string text = 1; }
message PeerInfo {
string username = 1;
string hostname = 2;
string platform = 3;
repeated DisplayInfo displays = 4;
int32 current_display = 5;
bool sas_enabled = 6;
string version = 7;
}
message LoginResponse {
oneof union {
string error = 1;
PeerInfo peer_info = 2;
base.PeerInfo peer_info = 2;
}
}

View File

@@ -1,4 +1,8 @@
pub mod compress;
#[path = "./protos/base_proto.rs"]
pub mod base_proto;
#[path = "./protos/discovery.rs"]
pub mod discovery_proto;
#[path = "./protos/message.rs"]
pub mod message_proto;
#[path = "./protos/rendezvous.rs"]