Hi,
In my application, I need to set a particular datawriter to use shared memory only. We do not want to use an XML file since we don't want to give our users any chance to change this.
I have tried the follwoing code but I keep getting an error that that '=' is not defined for the opeations or something simliar. The docs are not clear on this(The docs emphasize over and over to use XML files. Why?) We are using RTI DDS 5.3.1 on RHEL 7.5 on a x64 machine.
This is the code:
DDS_DataWriterQos datawriter_qos;
if(writer->get_qos(datawriter_qos)!=DDS_RETCODE_OK){
. . .
}
datawriter_qos.transport_selection.enabled_transports = DDS_TRANSPORTBUILTIN_SHMEM_ALIAS;
What is the right way to do this without using an XML file? We need to do this at the datawriter level.
tia,bernardo
This is the solution I found that works.
char* foo[] = { DDS_TRANSPORTBUILTIN_SHMEM_ALIAS };
datawriter_qos.transport_selection.enabled_transports.from_array(foo,1);
writer = publisher->create_datawriter( topic, datawriter_qos,NULL, DDS_STATUS_MASK_NONE);
.
.