pvalink pipeline option

This commit is contained in:
Michael Davidsaver
2018-04-17 20:38:44 -07:00
parent 1cc1d1857e
commit afe5232653
3 changed files with 6 additions and 2 deletions

View File

@ -78,7 +78,7 @@ struct pvaLinkConfig : public jlink
MSI,
} ms;
bool defer;
bool defer, pipeline;
int monorder;
// internals used by jlif parsing

View File

@ -11,6 +11,7 @@ pvaLinkConfig::pvaLinkConfig()
,pp(NPP)
,ms(NMS)
,defer(false)
,pipeline(false)
,monorder(0)
{}
pvaLinkConfig::~pvaLinkConfig() {}
@ -28,6 +29,7 @@ using namespace pvalink;
* "pv":"name",
* "field":"blah.foo",
* "Q":5,
* "pipeline":false,
* "proc":true, // false, true, none, "CP", "CPP"
* "sevr":true, // false, true, "MSI", "MSS"
* "monorder":#,// order of processing during CP scan
@ -94,6 +96,8 @@ jlif_result pva_parse_bool(jlink *pjlink, int val)
pvt->ms = val ? pvaLinkConfig::MS : pvaLinkConfig::NMS;
} else if(pvt->jkey == "defer") {
pvt->defer = !!val;
} else if(pvt->jkey == "pipeline") {
pvt->pipeline = !!val;
} else if(pvt->debug) {
printf("pva link parsing unknown integer depth=%u key=\"%s\" value=%s\n",
pvt->parseDepth, pvt->jkey.c_str(), val ? "true" : "false");

View File

@ -78,7 +78,7 @@ pvd::PVStructurePtr pvaLink::makeRequest()
// ret->getSubFieldT<pvd::PVString>("record._options.process")->put(proc);
ret = pvd::getPVDataCreate()->createPVStructure(monitorRequestType);
ret->getSubFieldT<pvd::PVBoolean>("record._options.pipeline")->put(false);
ret->getSubFieldT<pvd::PVBoolean>("record._options.pipeline")->put(pipeline);
ret->getSubFieldT<pvd::PVBoolean>("record._options.atomic")->put(true);
ret->getSubFieldT<pvd::PVUInt>("record._options.queueSize")->put(queueSize);
return ret;