#ifndef P4FS_FILEWRITER_ASYNC_H #define P4FS_FILEWRITER_ASYNC_H #include "filewriter.h" #include <list> class FileWriterASync : public FileWriter { public: static FileWriterASync* GetFileWriter(const std::string& inName, long long inFileSize); static void Finalize(); ~FileWriterASync(); virtual bool Open(); virtual bool Close(); virtual void GetWriteBuffer(unsigned char*& outBuf, int& outLength); virtual bool ReleaseWriteBuffer(int inRemainingLength); virtual void Finish(); virtual bool IsFinished(); virtual void HandleAbort(); private : struct BufInfo { BufInfo(FileWriterASync* inFileWriter); ~BufInfo(); unsigned char* mData; int mLength; int mSize; OVERLAPPED mOverlappedInfo; }; FileWriterASync(const std::string& inName, long long inFileSize); int Flush(bool inWriteAll); void Wait(int inMSecs); HANDLE mHandle; std::list<BufInfo*> mBuffers; long long mWriteOffset; static int mSectorSize; }; #endif
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 6420 | Frank Compagner |
A number of improvements: - p4fs now supports the global -s (scripted output) option. - p4fs and P4fsV now support the modtime client option. - P4CHARSET is now correctly handled (though no full Unicode support yet). - Increased the maximum command line length for p4fs to the Windows maximum 32768. - Improved error handling. - Fixed a crash when cancelling a sync using the async or multithreaded writers. - P4fsV progressbar now behaves well when passing more than one filespec - P4fsV will now offer the option to overwrite any locally changed (but not checked out) files when it finds these during a sync (cannot clobber ...). - Made the P4fsV error dialog resizeable. - P4fsV Windows layout fixed so it works properly with all Windows style setings. - Ooh, and prettier icons too. |
||
#2 | 6280 | Frank Compagner | Added support for +w filetype | ||
#1 | 6187 | Frank Compagner | Added p4fs project |