| 2183 | } |
| 2184 | |
| 2185 | void DataReaderImpl::notify_latency(GUID_t writer) |
| 2186 | { |
| 2187 | // Narrow to DDS::DCPS::DataReaderListener. If a DDS::DataReaderListener |
| 2188 | // is given to this DataReader then narrow() fails. |
| 2189 | DataReaderListener_var listener = get_ext_listener(); |
| 2190 | |
| 2191 | if (!CORBA::is_nil(listener.in())) { |
| 2192 | WriterIdSeq writerIds; |
| 2193 | writerIds.length(1); |
| 2194 | writerIds[ 0] = writer; |
| 2195 | |
| 2196 | DDS::InstanceHandleSeq handles; |
| 2197 | this->lookup_instance_handles(writerIds, handles); |
| 2198 | |
| 2199 | if (handles.length() >= 1) { |
| 2200 | this->budget_exceeded_status_.last_instance_handle = handles[ 0]; |
| 2201 | |
| 2202 | } else { |
| 2203 | this->budget_exceeded_status_.last_instance_handle = -1; |
| 2204 | } |
| 2205 | |
| 2206 | ++this->budget_exceeded_status_.total_count; |
| 2207 | ++this->budget_exceeded_status_.total_count_change; |
| 2208 | |
| 2209 | listener->on_budget_exceeded(this, this->budget_exceeded_status_); |
| 2210 | |
| 2211 | this->budget_exceeded_status_.total_count_change = 0; |
| 2212 | } |
| 2213 | } |
| 2214 | |
| 2215 | #ifndef OPENDDS_SAFETY_PROFILE |
| 2216 | void |
no test coverage detected