| 190 | } |
| 191 | |
| 192 | void JsonLoader::load_messages( |
| 193 | JsonLoader::Reader* ctx, |
| 194 | std::deque<google::protobuf::Message*>* out_msgs) { |
| 195 | out_msgs->clear(); |
| 196 | butil::IOBuf request_json; |
| 197 | while (ctx->get_next_json(&request_json)) { |
| 198 | VLOG(1) << "Load " << out_msgs->size() + 1 << "-th json=`" |
| 199 | << request_json << '\''; |
| 200 | std::string error; |
| 201 | google::protobuf::Message* request = _request_prototype->New(); |
| 202 | butil::IOBufAsZeroCopyInputStream wrapper(request_json); |
| 203 | if (!json2pb::JsonToProtoMessage(&wrapper, request, &error)) { |
| 204 | LOG(WARNING) << "Fail to convert to pb: " << error << ", json=`" |
| 205 | << request_json << '\''; |
| 206 | delete request; |
| 207 | continue; |
| 208 | } |
| 209 | out_msgs->push_back(request); |
| 210 | LOG_IF(INFO, (out_msgs->size() % 10000) == 0) |
| 211 | << "Loaded " << out_msgs->size() << " jsons"; |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | void JsonLoader::load_messages( |
| 216 | int fd, |
no test coverage detected