-
-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathrealworld.train_run.yaml
More file actions
177 lines (147 loc) · 4.94 KB
/
Copy pathrealworld.train_run.yaml
File metadata and controls
177 lines (147 loc) · 4.94 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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
asyncapi: 2.0.0
info:
title: Example using ProtoBuff data types
version: '1.0.0'
channels:
mychannel:
publish:
message:
$ref: '#/components/messages/testMessage'
components:
messages:
testMessage:
schemaFormat: 'application/vnd.google.protobuf;version=3'
payload: |
syntax = "proto3";
// @Option primitiveTypesWithLimits false
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/duration.proto";
import "google/type/datetime.proto";
import "google/type/date.proto";
package xx.xx.xx.sample;
option java_multiple_files = true;
option java_package = "xx.xx.xx.sample";
option java_outer_classname = "TrainRunContainerProtobuf";
// @RootNode
message TrainRunContainerMsg {
TrainRunMsg train_run = 1;
repeated TimetableEventMsg timetable_events = 2;
CompositionMsg composition = 3;
}
message TrainRunMsg {
//ObjectId
int32 id = 1;
string trasse_id = 2;
google.type.Date betriebstag = 3;
/*
* The train number
* @Example SBB-612-1
* @Example SOB-13234-2
*/
string zugnummer = 4;
string infrastruktur_netz = 5;
PeriodMsg object_period = 6;
/*
* @Example { "seconds": 1706685920, "nanos": 0 }
* @Default { "seconds": 946681200, "nanos": 0 }
*/
google.protobuf.Duration dr = 7;
CompositionMsg composition = 8;
}
message PeriodMsg {
google.protobuf.Timestamp von = 1;
google.protobuf.Timestamp bis = 2;
}
message TimetableEventMsg {
//ObjectId
int32 id = 1;
// Reference to a topology node.
// @Example 42217
// @Min 0
// @Max 1200
int32 nodeId = 17;
google.type.DateTime scheduled_time = 3;
google.type.DateTime production_time = 4;
oneof event_link {
StopMsg stop = 11;
MovementMsg movement = 12;
}
TrainRunSegmentMsg train_run_segment = 13;
//Integer
google.protobuf.Int32Value connection_decision_time = 20;
AheadOfScheduleStrategyEnum ahead_of_schedule_strategy = 21;
}
enum AheadOfScheduleStrategyEnum {
AOSS_UNSPECIFIED = 0;
AOSS_ALLOWED = 1;
AOSS_PROHIBITED = 2;
AOSS_OBSERVE_EARLIEST_TIMES = 4;
AOSS_ONLY_WHEN_ROUTE_IS_SET = 5;
}
message StopMsg {
//ObjectId
google.protobuf.Int32Value event_id_from = 1;
//ObjectId
google.protobuf.UInt32Value event_id_to = 2;
//ObjectId
google.protobuf.UInt64Value event_link_properties_id = 3;
int32 min_duration = 10;
repeated string purposes = 11;
}
message MovementMsg {
//ObjectId
int32 event_id_from = 1;
//ObjectId
int32 event_id_to = 2;
//ObjectId
google.protobuf.Int32Value event_link_properties_id = 3;
int32 min_duration = 10;
bool is_min_duration_calculated = 11;
bool is_stop_over = 12;
FahrstrategieEnum fahrstrategie = 13;
}
enum FahrstrategieEnum {
FS_UNSPECIFIED = 0;
FS_SCHNELL = 1;
FS_HALTEN = 2;
FS_NORMAL = 3;
FS_FAHRZEIT_VERTEILEN = 4;
}
message TrainRunSegmentMsg {
//ObjectId
int32 event_id_from = 1;
//ObjectId
int32 event_id_to = 2;
//ObjectId
google.protobuf.Int32Value abschnitts_formation_id = 3;
string train_category = 4;
TrainSeriesTypeEnum train_series = 5;
}
enum TrainSeriesTypeEnum{
TST_UNSPECIFIED = 0;
TST_R = 1;
TST_A = 2;
TST_D = 3;
TST_N = 4;
}
message CompositionMsg {
//ObjectId
google.protobuf.Int32Value composition_id = 1;
//ObjectId
google.protobuf.Int32Value train_run_id = 2;
int32 reihenfolge = 3;
string umsystem = 4;
//Integer
google.protobuf.Int32Value alast_anzahlwagen_chlor = 27;
AbschnittsFormationsDatenZlrEnum formationsdaten_zlr = 28;
//Integer
google.protobuf.Int32Value anzahl_loks = 29;
}
enum AbschnittsFormationsDatenZlrEnum {
AFDZ_UNSPECIFIED = 0;
AFDZ_KEINE_TRAKTION = 1;
AFDZ_ANHAENGELAST_FEHLT = 2;
AFDZ_MANUELL_ERGAENZT = 3;
AFDZ_OK = 4;
}