A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PDBMsgType.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 /*
19  * File: PDBMsgType.h
20  * Author: Chris
21  *
22  * slightly modified by Jia to add more message types
23  * Created on September 25, 2015, 5:15 PM
24  */
25 
26 #ifndef PDBMSGTYPE_H
27 #define PDBMSGTYPE_H
28 
29 
30 // this lists all of the identifiers for the different messages that can be received by a
31 // PDBCommunicator
32 // object. See PDBCommunicator.h for more info.
33 
34 /*
35 enum PDBMsgType_v1 {
36  QueryMsg,
37  ErrMsg,
38  BuildFeaturesMsg,
39  InfoMsg,
40  InfoReceivedMsg,
41  ShutDownMsg,
42  StoreDataNewFileMsg,
43  NoMsg,
44  CloseConnection,
45  LoadedCodeForPDBMetricMsg,
46  LoadedCodeForPDBQueryExecMsg,
47  LoadedCodeForPDBFeatureMsg,
48  LoadedCodeForPDBStoredDataMsg,
49  LoadedCodeForFeatureBuilderMsg,
50  CodeForPDBMetricMsg,
51  CodeForPDBQueryExecMsg,
52  CodeForPDBFeatureMsg,
53  CodeForPDBStoredDataMsg,
54  CodeForFeatureBuilderMsg,
55  StoreDataNewFileDoneMsg,
56  LoadDataDoneMsg,
57  ShutDownDoneMsg,
58  LoadDataMsg,
59  FeatureBuildTaskDoneMsg,
60  QueryResultMsg
61 
62 };
63  */
64 
65 enum PDBMsgType {
66  // Connection operations
68  ErrMsg, // 1
69  NoMsg, // 2
70  InfoMsg, // 3
72  // Server operations
73  AbortMsg, // 5
76  // Database operations
77  /*
78  * Needs to integrate with Manager/Catalog for adding meta-data
79  */
80  /*
81  * MsgType: 4 bytes
82  */
84 
85  /* MsgType: 4 bytes
86  * Total length: 4 bytes
87  * DatabaseID: 4 bytes
88  * name length: 4 bytes
89  * name: varying length
90  */
92 
93  /* MsgType: 4 bytes
94  * Total length: 4 bytes
95  * info: varying length
96  */
98 
99  /* MsgType: 4 bytes
100  * Total length: 4 bytes
101  * DatabaseID: 4 bytes
102  */
104 
105  /* MsgType: 4 bytes
106  * Total length: 4 bytes
107  * info: varying length
108  */
110 
111  /* MsgType: 4 bytes
112  * Total length: 4 bytes
113  * DatabaseID: 4 bytes
114  */
116 
117  /* MsgType: 4 bytes
118  * Total length: 4 bytes
119  * info: varying length
120  */
122 
123  /* MsgType: 4 bytes
124  * Total length: 4 bytes
125  * DatabaseID: 4 bytes
126  */
128 
129  /* MsgType: 4 bytes
130  * Total length: 4 bytes
131  * info: varying length
132  */
134 
135 
136  /* MsgType: 4 bytes
137  * Total length: 4 bytes
138  * DatabaseID: 4 bytes
139  */
141 
142  /* MsgType: 4 bytes
143  * Total length: 4 bytes
144  * DatabaseID: 4 bytes
145  * UserTypeID: 4 bytes
146  * type name length: 4 bytes
147  * type name: varying length
148  */
149  AddTypeMsg, // 18
150 
151  /* MsgType: 4 bytes
152  * Total length: 4 bytes
153  * info: varying length
154  */
156 
157  /* MsgType: 4 bytes
158  * Total length: 4 bytes
159  * DatabaseID: 4 bytes
160  * UserTypeID: 4 bytes
161  */
163 
164  /* MsgType: 4 bytes
165  * Total length: 4 bytes
166  * info: varying length
167  */
169 
170  /*
171  * Data Manipulations
172  */
173  /* MsgType: 4 bytes
174  * Total length: 4 bytes
175  * DatabaseID: 4 bytes
176  * UserTypeID: 4 bytes
177  */
179 
180  /* MsgType: 4 bytes
181  * Total length: 4 bytes
182  * DatabaseID: 4 bytes
183  * TypeID: 4 bytes
184  * NumObjects: 4 bytes
185  * 1st Object length: 4 bytes
186  * 1st Object data: varying length
187  * 2nd Object length: 4 bytes
188  * 2nd Object data: varying length
189  * ...
190  */
191  LoadDataMsg, // 23
192 
193  /* MsgType: 4 bytes
194  * Total length: 4 bytes
195  * info: varying length
196  */
198 
199  /* MsgType: 4 bytes
200  * Total length: 4 bytes
201  * DatabaseID: 4 bytes
202  * TypeID: 4 bytes
203  * SetID: 4 bytes
204  * DataLength: 4 bytes
205  * Data: varying length
206  */
208 
209  /* MsgType: 4 bytes
210  * PageID: 4 bytes
211  * MiniPageID: 4 bytes
212  */
214 
215  /* MsgType: 4 bytes
216  * Total length: 4 bytes
217  * NodeID: 4 bytes
218  * DatabaseID: 4 bytes
219  * TypeID: 4 bytes
220  * SetID: 4 bytes
221  * PageID: 4 bytes
222  * MiniPageID: 4 bytes
223  */
225 
226  /* MsgType: 4 bytes
227  * Total length: 4 bytes
228  * Object Length: 4 bytes
229  * Object Data: varying length
230  */
232 
233  /* MsgType: 4 bytes
234  * Total length: 4 bytes
235  * NodeID: 4 bytes
236  * DatabaseID: 4 bytes
237  * TypeID: 4 bytes
238  * PageID: 4 bytes
239  */
240  GetPageMsg, // 29
241 
242 
243  /* MsgType: 4 bytes
244  * Total length: 4 bytes
245  * PageSize: 4 bytes
246  * Data Offset: 4 bytes
247  */
249 
250  /* MsgType: 4 bytes
251  * Total length: 4 bytes
252  * NodeID: 4 bytes
253  * DatabaseID: 4 bytes
254  * TypeID: 4 bytes
255  * SetID: 4 bytes
256  */
258 
259  /* MsgType: 4 bytes
260  * Total length: 4 bytes
261  * NumPageIDs: 4 bytes
262  * 1st PageID: 4 bytes
263  * 2nd PageID: 4 bytes
264  * ...
265  */
269 
270  /* MsgType: 4 bytes
271  * Total length: 4 bytes
272  * NumPageIDs: 4 bytes
273  * 1st PageID: 4 bytes
274  * 2nd PageID: 4 bytes
275  * ...
276  */
280 
281  /* MsgType: 4 bytes
282  * Total length: 4 bytes
283  * info: varying length
284  */
286 
287  /* MsgType: 4 bytes
288  * Total length: 4 bytes
289  * NodeID: 4 bytes
290  * DatabaseID: 4 bytes
291  * TypeID: 4 bytes
292  */
294 
295 
296  /* MsgType: 4 bytes
297  * Total length: 4 bytes
298  * DatabaseID: 4 bytes
299  * UserTypeID: 4 bytes
300  * SetID: 4 bytes
301  * set name length: 4 bytes
302  * set name: varying length
303  */
304  AddSetMsg, // 40
305 
306  /* MsgType: 4 bytes
307  * Total length: 4 bytes
308  * info: varying length
309  */
311 
312  /* MsgType: 4 bytes
313  * Total length: 4 bytes
314  * DatabaseID: 4 bytes
315  * UserTypeID: 4 bytes
316  * SetID: 4 bytes
317  */
319 
320  /* MsgType: 4 bytes
321  * Total length: 4 bytes
322  * info: varying length
323  */
325 
326  /* MsgType: 4 bytes
327  * Total length: 4 bytes
328  * DatabaseID: 4 bytes
329  * UserTypeID: 4 bytes
330  * SetID: 4 bytes
331  */
333 
334  /* MsgType: 4 bytes
335  * Total length: 4 bytes
336  * PageNum: 4 bytes
337  */
339 
340  /* MsgType: 4 bytes
341  * Total length: 4 bytes
342  * DatabaseID: 4 bytes
343  * UserTypeID: 4 bytes
344  * SetID: 4 bytes
345  */
347 
348  /* MsgType: 4 bytes
349  * Total length: 4 bytes
350  * info: varying length
351  */
353 
354  /* MsgType: 4 bytes
355  * Total length: 4 bytes
356  * SetID: 4 bytes
357  */
359 
360  /* MsgType: 4 bytes
361  * Total length: 4 bytes
362  * SetID: 4 bytes
363  */
365 
366  // Catalog-related messages
367 
368  /* MsgType: 4 bytes
369  * Total length: 4 bytes
370  * DatabaseID: 4 bytes
371  * name length: 4 bytes
372  * binaryCode: varying length
373  */
375 
376  /* MsgType: 4 bytes
377  * text: 4 bytes
378  */
380 
381  /* MsgType: 4 bytes
382  * Total length: 4 bytes
383  * DatabaseID: 4 bytes
384  * name length: 4 bytes
385  * content: varying length
386  */
388 
389  /* MsgType: 4 bytes
390  * text: 4 bytes
391  */
393 
394 
395 };
396 
397 
398 #endif /* PDBMSGTYPE_H */
PDBMsgType
Definition: PDBMsgType.h:65