#ifndef MSCCLPP_PROXY_HPP_ #define MSCCLPP_PROXY_HPP_ #include #include #include namespace mscclpp { enum class ProxyHandlerResult { Continue, FlushFifoTailAndContinue, Stop, }; class Proxy; using ProxyHandler = std::function; class Proxy { public: Proxy(ProxyHandler handler); ~Proxy(); void start(); void stop(); HostProxyFifo& fifo(); private: struct Impl; std::unique_ptr pimpl; }; } // namespace mscclpp #endif // MSCCLPP_PROXY_HPP_