GraphLab: Distributed Graph-Parallel API  2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dc_packet_mask.hpp
1 /**
2  * Copyright (c) 2009 Carnegie Mellon University.
3  * All rights reserved.
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,
12  * software distributed under the License is distributed on an "AS
13  * IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
14  * express or implied. See the License for the specific language
15  * governing permissions and limitations under the License.
16  *
17  * For more about this software visit:
18  *
19  * http://www.graphlab.ml.cmu.edu
20  *
21  */
22 
23 
24 #ifndef DC_PACKET_MASK_HPP
25 #define DC_PACKET_MASK_HPP
26 namespace graphlab {
27  // --------- Packet header types --------------
28 
29  /**
30  * \internal
31  * \ingroup rpc
32  * Used for regular calls which go into a thread pool
33  * for evaluation
34  */
35  const unsigned char STANDARD_CALL = 1;
36 
37 
38  /**
39  * \internal
40  * \ingroup rpc
41  *
42  * If WAIT_FOR_REPLY is set, the function call's
43  return will be passed back to the caller */
44  const unsigned char WAIT_FOR_REPLY = 4;
45 
46  /**
47  * \internal
48  \ingroup rpc
49  *
50  If control packet flag is set, this packet
51  does not increment any counters.
52  */
53  const unsigned char CONTROL_PACKET = 16;
54 
55  /**
56  * \internal
57  * \ingroup rpc
58  *
59  * Used to identify that this packet was
60  * a reply to a previous request.
61  */
62  const unsigned char REPLY_PACKET = 32;
63 
64  /**
65  * \internal
66  * \ingroup rpc
67  *
68  * Used to identify that this packet is
69  * serialized using a POD mechanism;
70  */
71  const unsigned char POD_CALL = 64;
72 }
73 #endif
74