6 #ifndef __RESERVE_RESOURCE_H__ 7 #define __RESERVE_RESOURCE_H__ 12 struct ReserveResourceRequest
14 ReserveResourceRequest() :
15 component(std::string()),
17 action(std::string()),
18 bytesRequested(int64_t()),
20 options(std::map<std::string, std::string>())
24 ReserveResourceRequest(
const std::string& component_,
const std::string& name_,
const std::string& action_,
const int64_t bytesRequested_,
const int64_t ownerId_,
const std::map<std::string, std::string>& options_):
25 component( component_ ),
28 bytesRequested( bytesRequested_ ),
34 std::string component;
37 int64_t bytesRequested;
39 std::map<std::string, std::string> options;
45 template<>
struct codec_traits<
gpudb::ReserveResourceRequest>
47 static void encode(Encoder& e,
const gpudb::ReserveResourceRequest& v)
49 ::avro::encode(e, v.component);
50 ::avro::encode(e, v.name);
51 ::avro::encode(e, v.action);
52 ::avro::encode(e, v.bytesRequested);
53 ::avro::encode(e, v.ownerId);
54 ::avro::encode(e, v.options);
57 static void decode(Decoder& d, gpudb::ReserveResourceRequest& v)
59 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
61 const std::vector<size_t> fo = rd->fieldOrder();
63 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
68 ::avro::decode(d, v.component);
72 ::avro::decode(d, v.name);
76 ::avro::decode(d, v.action);
80 ::avro::decode(d, v.bytesRequested);
84 ::avro::decode(d, v.ownerId);
88 ::avro::decode(d, v.options);
98 ::avro::decode(d, v.component);
99 ::avro::decode(d, v.name);
100 ::avro::decode(d, v.action);
101 ::avro::decode(d, v.bytesRequested);
102 ::avro::decode(d, v.ownerId);
103 ::avro::decode(d, v.options);
112 struct ReserveResourceResponse
114 ReserveResourceResponse() :
115 component(std::string()),
117 reservation(int64_t()),
118 info(std::map<std::string, std::string>())
122 std::string component;
125 std::map<std::string, std::string> info;
131 template<>
struct codec_traits<
gpudb::ReserveResourceResponse>
133 static void encode(Encoder& e,
const gpudb::ReserveResourceResponse& v)
135 ::avro::encode(e, v.component);
136 ::avro::encode(e, v.name);
137 ::avro::encode(e, v.reservation);
138 ::avro::encode(e, v.info);
141 static void decode(Decoder& d, gpudb::ReserveResourceResponse& v)
143 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
145 const std::vector<size_t> fo = rd->fieldOrder();
147 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
152 ::avro::decode(d, v.component);
156 ::avro::decode(d, v.name);
160 ::avro::decode(d, v.reservation);
164 ::avro::decode(d, v.info);
174 ::avro::decode(d, v.component);
175 ::avro::decode(d, v.name);
176 ::avro::decode(d, v.reservation);
177 ::avro::decode(d, v.info);
183 #endif // __RESERVE_RESOURCE_H__