Nexus/pkg/proto/services.proto
2024-10-21 00:05:40 +08:00

59 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
option go_package = ".;proto";
package proto;
service ServiceDirectory {
rpc GetService(GetServiceRequest) returns (GetServiceResponse) {}
rpc ListService(ListServiceRequest) returns (ListServiceResponse) {}
rpc AddService(ServiceInfo) returns (AddServiceResponse) {}
rpc RemoveService(RemoveServiceRequest) returns (RemoveServiceResponse) {}
rpc BroadcastEvent(EventInfo) returns (EventResponse) {}
}
message ServiceInfo {
string id = 1;
string type = 2;
string label = 3;
string grpc_addr = 4;
optional string http_addr = 5;
}
message GetServiceRequest {
optional string id = 1;
optional string type = 2;
}
message GetServiceResponse {
ServiceInfo data = 1;
}
message ListServiceRequest {
optional string type = 1;
}
message ListServiceResponse {
repeated ServiceInfo data = 1;
}
message AddServiceResponse {
bool is_success = 1;
}
message RemoveServiceRequest {
string id = 1;
}
message RemoveServiceResponse {
bool is_success = 1;
}
message EventInfo {
string event = 1;
bytes data = 2;
}
message EventResponse {
}