Repository navigation
Expand file tree
/
Copy pathsensor.proto
More file actions
156 lines (124 loc) · 3.11 KB
/
Copy pathsensor.proto
File metadata and controls
156 lines (124 loc) · 3.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
syntax = "proto3";
package grpc;
// service AlarmSensor {
// rpc SendData (MessageRequest) returns (Empty) {}
// }
// service WarningSensor {
// rpc SendData (MessageRequest) returns (Empty) {}
// }
// message Empty {}
// message MessageRequest {
// int32 id = 1;
// string message = 2;
// }
service Server {
rpc Signup (SignupRequest) returns (SignupReply);
rpc Signout (SignoutRequest) returns (SignoutReply);
rpc GetTrainStatus (TrainStatusRequest) returns (TrainStatusResponse) {}
rpc UpdateTrainStatus (TrainUpdateRequest) returns (TrainUpdateResponse) {}
rpc GetOtherTrainStatus (OtherTrainStatusRequest) returns (TrainStatusResponse) {}
// sensors
rpc SendSensorMessage (SensorMessageRequest) returns (SensorResponse) {}
rpc TrainSensorStream (TrainConnectRequest) returns (stream TrainConnectReply) {}
rpc ResetSensor (ResetSensorRequest) returns (ResetSensorResponse) {}
rpc SensorConnect (SensorConnectRequest) returns (SensorConnectResponse) {}
// rpc RestartTrain (RestartTrainRequest) returns (RestartTrainResponse) {}
// replication edit
rpc IsMasterQuery (IsMasterRequest) returns (IsMasterReply);
rpc AddConnect (AddConnectRequest) returns (AddConnectReply);
rpc Disconnect (DisconnectRequest) returns (DisconnectReply);
}
message DisconnectRequest{
int32 requester_port = 1;
int32 replier_port = 2;
bool is_master = 3;
}
message DisconnectReply{
bool success = 1;
string error = 2;
}
message AddConnectRequest{
int32 requester_port = 1;
int32 replier_port = 2;
}
message AddConnectReply{
bool success = 1;
string error = 2;
}
message IsMasterRequest{}
message IsMasterReply{
bool master = 1;
}
message SensorConnectRequest {
int32 sensor_id = 1;
bool alarm = 2;
}
message SensorConnectResponse {
bool success = 1;
string error = 2;
}
message ResetSensorRequest {}
message ResetSensorResponse {
bool success = 1;
string error = 2;
}
// message RestartTrainRequest {
// int32 train_id = 1;
// }
// message RestartTrainResponse {
// bool success = 1;
// string error = 2;
// }
message SignoutRequest {
int32 train_id = 1;
}
message SignoutReply {
bool success = 1;
string error = 2;
}
message SignupRequest {
int32 train_id = 1;
}
message SignupReply {
bool success = 1;
string error = 2;
}
message TrainConnectRequest {
int32 train_id = 1;
}
message TrainConnectReply {
int32 train_id = 1;
bool alarm = 2; // true = alarm, false = warning
int32 new_speed = 3; // can either tell train to stop or restart
string message = 4;
}
message SensorMessageRequest {
int32 id = 1;
bool alarm = 2; // true = alarm, false = warning
string message = 3;
}
message SensorResponse {
int32 id = 1;
bool success = 2;
string error_message = 3;
}
message OtherTrainStatusRequest {
int32 requesting_train_id = 1;
int32 other_train_id = 2;
}
message TrainStatusRequest {
int32 train_id = 1;
}
message TrainStatusResponse {
int32 train_id = 1;
double location = 2;
double speed = 3;
}
message TrainUpdateRequest {
int32 train_id = 1;
double location = 2;
double speed = 3;
}
message TrainUpdateResponse {
bool success = 1;
}