equal
deleted
inserted
replaced
141 vector<AttributeMetadata> metadata; |
141 vector<AttributeMetadata> metadata; |
142 while (true) { |
142 while (true) { |
143 SubProcess::Message m = subProcess->read(); |
143 SubProcess::Message m = subProcess->read(); |
144 if (m.code == StreamletMsg::OUTPUT_ATTRIBUTE_METADATA) metadata.push_back({m.parameters[0], writer->toTypeId(m.parameters[1])}); |
144 if (m.code == StreamletMsg::OUTPUT_ATTRIBUTE_METADATA) metadata.push_back({m.parameters[0], writer->toTypeId(m.parameters[1])}); |
145 else if (m.code == StreamletMsg::WAITING_FOR_INPUT_ATTRIBUTES) break; |
145 else if (m.code == StreamletMsg::WAITING_FOR_INPUT_ATTRIBUTES) break; |
|
146 else throw RelpipeWriterException(L"Protocol violation from exec sub-process while reading output attribute metadata. Expected OUTPUT_ATTRIBUTE_METADATA or WAITING_FOR_INPUT_ATTRIBUTES but got: " + m.toString()); |
146 } |
147 } |
147 |
148 |
148 cachedMetadata[field.id] = metadata; |
149 cachedMetadata[field.id] = metadata; |
149 return metadata; |
150 return metadata; |
150 } else { |
151 } else { |