diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2020-10-28 11:24:39 +0100 | 
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2020-10-28 11:24:39 +0100 | 
| commit | 844532b93021ecc9f0f5dabbc00f8965f088c54b (patch) | |
| tree | 48d107cc848f8c63bba9db1e4e7d0cb12c4b4d99 | |
| parent | 04e1872b5373a4b0bde548e9e42a6c2fc74c7e5d (diff) | |
| download | dabmod-844532b93021ecc9f0f5dabbc00f8965f088c54b.tar.gz dabmod-844532b93021ecc9f0f5dabbc00f8965f088c54b.tar.bz2 dabmod-844532b93021ecc9f0f5dabbc00f8965f088c54b.zip | |
common ea3156f: EDI input: Do not print sequence error on first packet
| -rw-r--r-- | lib/edi/common.cpp | 12 | ||||
| -rw-r--r-- | lib/edi/common.hpp | 1 | 
2 files changed, 10 insertions, 3 deletions
| diff --git a/lib/edi/common.cpp b/lib/edi/common.cpp index 3005802..306261a 100644 --- a/lib/edi/common.cpp +++ b/lib/edi/common.cpp @@ -264,9 +264,15 @@ decode_state_t TagDispatcher::decode_afpacket(      }      // SEQ wraps at 0xFFFF, unsigned integer overflow is intentional -    const uint16_t expected_seq = m_last_seq + 1; -    if (expected_seq != seq) { -        etiLog.level(warn) << "EDI AF Packet sequence error, " << seq; +    if (m_last_seq_valid) { +        const uint16_t expected_seq = m_last_seq + 1; +        if (expected_seq != seq) { +            etiLog.level(warn) << "EDI AF Packet sequence error, " << seq; +        } +    } +    else { +        etiLog.level(info) << "EDI AF Packet initial sequence number: " << seq; +        m_last_seq_valid = true;      }      m_last_seq = seq; diff --git a/lib/edi/common.hpp b/lib/edi/common.hpp index ff5bab1..c8c4bb3 100644 --- a/lib/edi/common.hpp +++ b/lib/edi/common.hpp @@ -107,6 +107,7 @@ class TagDispatcher {          bool decode_tagpacket(const std::vector<uint8_t> &payload);          PFT::PFT m_pft; +        bool m_last_seq_valid = false;          uint16_t m_last_seq = 0;          std::vector<uint8_t> m_input_data;          std::map<std::string, tag_handler> m_handlers; | 
