Changeset 11003 in ntrip for trunk/BNC/src/RTCM3
- Timestamp:
- Sep 1, 2026, 3:26:23 PM (8 days ago)
- File:
-
- 1 edited
-
trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/RTCM3/RTCM3coDecoder.cpp
r11002 r11003 199 199 } 200 200 201 else if (irc < 0) { // error - skip 1 byte and retry 202 reset(); 201 else if (irc < 0) { // error - skip this message (or 1 byte if the 202 // frame itself couldn't be recognized) and retry 203 if (irc != GCOBR_UNKNOWNTYPE) { 204 // A recognized-but-unimplemented message (e.g. Tropospheric or 205 // Regional Ionospheric Correction) leaves _clkOrb/_codeBias/ 206 // _phaseBias/_vTEC untouched, and bytesused is already reliably set 207 // from its CRC-validated frame length, so there is nothing to 208 // discard. Every other error code may have left inconsistent 209 // partial state (e.g. mid-satellite-loop) or an unreliable frame 210 // boundary, so reset defensively there. Without this, streams with 211 // frequent unimplemented messages (e.g. dense grid-based Regional 212 // Ionospheric traffic) would wipe unrelated, still-valid orbit/ 213 // clock/bias/phase-bias state every time one is skipped. 214 reset(); 215 } 203 216 _buffer = _buffer.mid(bytesused ? bytesused : 1); 204 217 }
Note:
See TracChangeset
for help on using the changeset viewer.
