| 301 | |
| 302 | OPENDDS_VECTOR(SequenceRange) |
| 303 | DisjointSequence::missing_sequence_ranges() const |
| 304 | { |
| 305 | OPENDDS_VECTOR(SequenceRange) missing; |
| 306 | if (!disjoint()) { |
| 307 | return missing; |
| 308 | } |
| 309 | |
| 310 | RangeSet::const_iterator secondIter = sequences_.begin(); |
| 311 | for (RangeSet::const_iterator firstIter = secondIter++; |
| 312 | secondIter != sequences_.end(); ++firstIter, ++secondIter) { |
| 313 | |
| 314 | const SequenceNumber missingLow = ++SequenceNumber(firstIter->second), |
| 315 | missingHigh = secondIter->first.previous(); |
| 316 | |
| 317 | if (missingLow <= missingHigh) { |
| 318 | missing.push_back(SequenceRange(missingLow, missingHigh)); |
| 319 | } |
| 320 | } |
| 321 | |
| 322 | return missing; |
| 323 | } |
| 324 | |
| 325 | void |
| 326 | DisjointSequence::dump() const |
no test coverage detected