MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / read_dynamic

Function read_dynamic

tests/DCPS/DynamicData/subscriber.cpp:138–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

136}
137
138void read_dynamic(DDS::DataReader_var& data_reader, bool& done, bool& got_message)
139{
140 DDS::DynamicDataReader_var ddr = DDS::DynamicDataReader::_narrow(data_reader);
141 DDS::DynamicDataSeq messages;
142 DDS::SampleInfoSeq infos;
143 ddr->take(messages, infos, DDS::LENGTH_UNLIMITED,
144 DDS::ANY_SAMPLE_STATE, DDS::ANY_VIEW_STATE, DDS::ANY_INSTANCE_STATE);
145 for (unsigned int idx = 0; idx != messages.length(); ++idx) {
146 CORBA::String_var str;
147 messages[idx]->get_string_value(str, 0);
148 if (!strcmp(str.in(), HelloWorld::MESSAGE_EXAMPLE_VALUE)) {
149 got_message = true;
150 }
151 if (infos[idx].valid_data) {
152 ACE_DEBUG((LM_DEBUG, "received %C\n", str.in()));
153 done = true;
154 }
155 }
156}
157

Callers 5

read_kf_structMethod · 0.85
read_kf_af_structMethod · 0.85
read_trim_structMethod · 0.85
read_unionMethod · 0.85
ACE_TMAINFunction · 0.85

Calls 4

takeMethod · 0.45
lengthMethod · 0.45
get_string_valueMethod · 0.45
inMethod · 0.45

Tested by

no test coverage detected