iot_cloud/proto/message.proto
2026-04-21 11:26:36 +08:00

87 lines
1.2 KiB
Protocol Buffer

syntax = "proto3";
import "docker.proto";
// 整体封装的消息体
message RequestFrame {
uint32 packet_id = 1;
oneof body {
AuthRequest auth_request = 2;
RpcRequest rpc_request = 3;
ContainerRequest container_request = 4;
}
}
message ResponseFrame {
uint32 packet_id = 1;
oneof body {
AuthReply auth_reply = 2;
RpcReply rpc_reply = 3;
}
}
message CastFrame {
oneof body {
Pub pub = 1;
Command command = 2;
Data data = 3;
TaskEventStream event_stream = 4;
}
}
message AuthRequest {
bytes uuid = 1;
bytes username = 2;
bytes salt = 3;
bytes token = 4;
int32 timestamp = 5;
}
message AuthReply {
int32 code = 1;
bytes payload = 2;
}
message Pub {
bytes topic = 1;
int32 qos = 2;
bytes content = 3;
}
message Command {
int32 command_type = 1;
bytes command = 2;
}
message RpcRequest {
bytes method = 1;
bytes params = 2;
}
message RpcReply {
message RpcResult {
bytes data = 1;
}
message RpcError {
int32 code = 1;
string message = 2;
}
oneof reply {
RpcResult result = 1;
RpcError error = 2;
}
}
message Data {
bytes route_key = 1;
bytes metric = 2;
}
message TaskEventStream {
int32 task_id = 1;
bytes type = 2;
bytes stream = 3;
}