#pragma once #include #include #include class PacketPlayer : public LuaObject { public: PacketPlayer(const std::string& file); virtual ~PacketPlayer(); void start(std::function>)> recvCallback, std::function disconnectCallback); void stop(); void onOutputPacket(const OutputMessagePtr& packet); private: void process(); ticks_t m_start; ScheduledEventPtr m_event; std::deque>>> m_input; std::deque>>> m_output; std::function>)> m_recvCallback; std::function m_disconnectCallback; };