| 2924 | |
| 2925 | |
| 2926 | void DataReaderImpl::get_ordered_data(GroupRakeData& data, |
| 2927 | DDS::SampleStateMask sample_states, |
| 2928 | DDS::ViewStateMask view_states, |
| 2929 | DDS::InstanceStateMask instance_states) |
| 2930 | { |
| 2931 | SubscriptionInstanceSet localsubs; |
| 2932 | { |
| 2933 | ACE_GUARD(ACE_Recursive_Thread_Mutex, instance_guard, instances_lock_); |
| 2934 | for (SubscriptionInstanceMapType::iterator iter = instances_.begin(); |
| 2935 | iter != instances_.end(); ++iter) { |
| 2936 | localsubs.insert(iter->second); |
| 2937 | } |
| 2938 | } |
| 2939 | |
| 2940 | ACE_GUARD(ACE_Recursive_Thread_Mutex, guard, sample_lock_); |
| 2941 | |
| 2942 | for (SubscriptionInstanceSet::iterator iter = localsubs.begin(); iter != localsubs.end(); ++iter) { |
| 2943 | const SubscriptionInstance_rch inst = *iter; |
| 2944 | if (inst->instance_state_->match(view_states, instance_states)) { |
| 2945 | size_t i(0); |
| 2946 | for (ReceivedDataElement* item = inst->rcvd_samples_.get_next_match(sample_states, 0); |
| 2947 | item; item = inst->rcvd_samples_.get_next_match(sample_states, item)) { |
| 2948 | data.insert_sample(item, &inst->rcvd_samples_, *iter, ++i); |
| 2949 | group_coherent_ordered_data_.insert_sample(item, &inst->rcvd_samples_, *iter, ++i); |
| 2950 | } |
| 2951 | } |
| 2952 | } |
| 2953 | } |
| 2954 | |
| 2955 | #endif // OPENDDS_NO_OBJECT_MODEL_PROFILE |
| 2956 |
no test coverage detected