#pragma once #include #include #include namespace Balau { #define COPY_BUFSIZE 4096 class CopyTask : public StacklessTask { public: CopyTask(IO s, IO d, ssize_t tocopy = -1); virtual const char * getName() const override { return m_name.to_charp(); } virtual void Do(); private: char m_buffer[COPY_BUFSIZE]; IO m_s, m_d; ssize_t m_tocopy, m_current = 0, m_written, m_read; size_t m_towrite; String m_name; }; };