#pragma once #include "lazy_gate.hpp" #include namespace cms { // Receives continuously, including while inference is idle; retries missing USB CAN. class CanInput { public: explicit CanInput(LazyGateConfig config); ~CanInput(); CanInput(CanInput const&)=delete; CanInput& operator=(CanInput const&)=delete; InferenceStatus snapshot(); private: struct Impl; std::unique_ptr impl_; }; }