Hello all,

I've created a DataReader, DataWriter and topic with all default QOS policies. 
I'm continually publishing data, but the DataReader keeps on receiving only the 
first message published. I'm using the code shown below to read messages:
result = hello_reader->take (hello_dataList, infoList, LENGTH_UNLIMITED, 
NOT_READ_SAMPLE_STATE, ANY_VIEW_STATE, ALIVE_INSTANCE_STATE);

I've changed this from the default to notice a difference. The default was:
result = hello_reader->take (hello_dataList, infoList, 1, ANY_SAMPLE_STATE, 
ANY_VIEW_STATE, ANY_INSTANCE_STATE);

This did not give any other result. My question is: how do I read messages only 
once, and move up in the queue of available messages? (the relevant sample of 
the code is shown at the end of the message)

Greetings,

Pepijn


- Sample code -

while (!terminate) {
       ConditionSeq_var conditionList = new ConditionSeq();
       result = w.wait (conditionList.inout (), DURATION_INFINITE);

       if (result == DDS::RETCODE_ALREADY_DELETED) {
              terminate = TRUE;
              continue;
       }

       int imax = conditionList->length ();
       for (int i = 0; i < imax; i++) {
              if (conditionList[i].in() == hello_status) {
              result = hello_reader->take (hello_dataList, infoList, 1, 
ANY_SAMPLE_STATE, ANY_VIEW_STATE, ANY_INSTANCE_STATE);

              int jmax = hello_dataList->length ();
              if (jmax != 0) {
                     for (int j = 0; j < jmax; j++) {
                            if (infoList[j].valid_data) {
                                   HelloTopicType ht = hello_dataList[j];
                                   cout << ht.message << endl; // The exact 
same message keeps on being published again and again
                            }
                     }
              }
       } else {
              cout << "unknown condition triggered: " <<  conditionList[i].in() 
<< endl;
       }
}

_______________________________________________
OpenSplice DDS Developer Mailing List
Developer@opensplice.org
Subscribe / Unsubscribe http://dev.opensplice.org/mailman/listinfo/developer

Reply via email to