MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / ParseRequest

Method ParseRequest

serving/processor/serving/message_coding.cc:12–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10}
11
12Status ProtoBufParser::ParseRequest(
13 const eas::PredictRequest& request,
14 const SignatureInfo* signature_info, Call& call) {
15 for (auto& input : request.inputs()) {
16 if (signature_info->input_key_idx.find(input.first) ==
17 signature_info->input_key_idx.end()) {
18 LOG(FATAL) << "Request contain invalid input key : " << input.first;
19 }
20 int idx = signature_info->input_key_idx.at(input.first);
21 auto pb_to_tensor = util::Proto2Tensor(input.first, input.second);
22 if (!pb_to_tensor.status.ok()) {
23 return pb_to_tensor.status;
24 }
25 call.request.inputs.emplace_back(
26 signature_info->input_value_name[idx],
27 std::move(pb_to_tensor.tensor));
28 }
29
30 if (request.output_filter().size() > 0) {
31 call.request.output_tensor_names.reserve(request.output_filter().size());
32 for (auto key : request.output_filter()) {
33 if (signature_info->output_key_idx.find(key) ==
34 signature_info->output_key_idx.end()) {
35 LOG(FATAL) << "Request contain invalid output filter: " << key;
36 }
37 call.request.output_tensor_names.emplace_back(
38 signature_info->output_value_name[signature_info->output_key_idx.at(key)]);
39 }
40 } else {
41 call.request.output_tensor_names =
42 signature_info->output_value_name;
43 }
44
45 return Status::OK();
46}
47
48Status ProtoBufParser::ParseRequestFromBuf(
49 const void* input_data, int input_size, Call& call,

Callers 1

CreateWarmupParamsFunction · 0.45

Calls 9

Proto2TensorFunction · 0.70
inputsMethod · 0.45
findMethod · 0.45
endMethod · 0.45
atMethod · 0.45
okMethod · 0.45
emplace_backMethod · 0.45
sizeMethod · 0.45
reserveMethod · 0.45

Tested by

no test coverage detected