6 #ifndef __RESERVE_RESOURCE_H__
7 #define __RESERVE_RESOURCE_H__
18 struct ReserveResourceRequest
26 ReserveResourceRequest() :
27 component(std::string()),
29 action(std::string()),
30 bytesRequested(int64_t()),
32 options(std::map<std::string, std::string>())
61 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_):
62 component( component_ ),
65 bytesRequested( bytesRequested_ ),
71 std::string component;
74 int64_t bytesRequested;
76 std::map<std::string, std::string> options;
86 template<>
struct codec_traits<gpudb::ReserveResourceRequest>
88 static void encode(Encoder& e,
const gpudb::ReserveResourceRequest& v)
90 ::avro::encode(e, v.component);
91 ::avro::encode(e, v.name);
92 ::avro::encode(e, v.action);
93 ::avro::encode(e, v.bytesRequested);
94 ::avro::encode(e, v.ownerId);
95 ::avro::encode(e, v.options);
98 static void decode(Decoder& d, gpudb::ReserveResourceRequest& v)
100 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
102 const std::vector<size_t> fo = rd->fieldOrder();
104 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
109 ::avro::decode(d, v.component);
113 ::avro::decode(d, v.name);
117 ::avro::decode(d, v.action);
121 ::avro::decode(d, v.bytesRequested);
125 ::avro::decode(d, v.ownerId);
129 ::avro::decode(d, v.options);
139 ::avro::decode(d, v.component);
140 ::avro::decode(d, v.name);
141 ::avro::decode(d, v.action);
142 ::avro::decode(d, v.bytesRequested);
143 ::avro::decode(d, v.ownerId);
144 ::avro::decode(d, v.options);
159 struct ReserveResourceResponse
167 ReserveResourceResponse() :
168 component(std::string()),
170 reservation(int64_t()),
171 info(std::map<std::string, std::string>())
175 std::string component;
178 std::map<std::string, std::string> info;
188 template<>
struct codec_traits<gpudb::ReserveResourceResponse>
190 static void encode(Encoder& e,
const gpudb::ReserveResourceResponse& v)
192 ::avro::encode(e, v.component);
193 ::avro::encode(e, v.name);
194 ::avro::encode(e, v.reservation);
195 ::avro::encode(e, v.info);
198 static void decode(Decoder& d, gpudb::ReserveResourceResponse& v)
200 if (::avro::ResolvingDecoder *rd = dynamic_cast< ::avro::ResolvingDecoder*>(&d))
202 const std::vector<size_t> fo = rd->fieldOrder();
204 for (std::vector<size_t>::const_iterator it = fo.begin(); it != fo.end(); ++it)
209 ::avro::decode(d, v.component);
213 ::avro::decode(d, v.name);
217 ::avro::decode(d, v.reservation);
221 ::avro::decode(d, v.info);
231 ::avro::decode(d, v.component);
232 ::avro::decode(d, v.name);
233 ::avro::decode(d, v.reservation);
234 ::avro::decode(d, v.info);