143 SubProcess::Message versionMessage = subProcess->read(); |
143 SubProcess::Message versionMessage = subProcess->read(); |
144 if (versionMessage.code == StreamletMsg::VERSION_ACCEPTED && versionMessage.parameters[0] == version) { |
144 if (versionMessage.code == StreamletMsg::VERSION_ACCEPTED && versionMessage.parameters[0] == version) { |
145 subProcess->write({StreamletMsg::RELATION_START, relationName}); |
145 subProcess->write({StreamletMsg::RELATION_START, relationName}); |
146 subProcess->write({StreamletMsg::INPUT_ATTRIBUTE_METADATA, L"path", L"string"}); |
146 subProcess->write({StreamletMsg::INPUT_ATTRIBUTE_METADATA, L"path", L"string"}); |
147 for (string_t alias : field.getAliases()) subProcess->write({StreamletMsg::OUTPUT_ATTRIBUTE_ALIAS, alias}); |
147 for (string_t alias : field.getAliases()) subProcess->write({StreamletMsg::OUTPUT_ATTRIBUTE_ALIAS, alias}); |
148 for (int i = 0; i < field.options.size();) subProcess->write({StreamletMsg::OPTION, field.options[i++], field.options[i++]}); |
148 for (int i = 0; i < field.options.size();) { |
|
149 auto code = field.options[i++]; |
|
150 auto param = field.options[i++]; |
|
151 subProcess->write({StreamletMsg::OPTION, code, param}); |
|
152 } |
149 subProcess->write({StreamletMsg::WAITING_FOR_OUTPUT_ATTRIBUTES_METADATA}); |
153 subProcess->write({StreamletMsg::WAITING_FOR_OUTPUT_ATTRIBUTES_METADATA}); |
150 |
154 |
151 vector<AttributeMetadata> metadata; |
155 vector<AttributeMetadata> metadata; |
152 while (true) { |
156 while (true) { |
153 SubProcess::Message m = subProcess->read(); |
157 SubProcess::Message m = subProcess->read(); |