#pragma once #include #include #include namespace gateway { enum class KnxPortKind : uint8_t { kIpTunnel, kIpRouting, kTpUart, kCloud, kRfReserved, }; struct KnxIngressContext { KnxPortKind port{KnxPortKind::kIpTunnel}; bool oam_persona_hint{false}; bool broadcast_management{false}; }; class KnxResponseDeduplicator { public: KnxResponseDeduplicator() = default; KnxResponseDeduplicator(const uint8_t* original, size_t len); bool remember(const uint8_t* data, size_t len); bool remember(const std::vector& data); size_t suppressedCount() const; private: std::vector original_; std::vector> sent_; size_t suppressed_count_{0}; }; } // namespace gateway