#include <llxfer_vfile.h>
Public Member Functions | |
LLXfer_VFile () | |
LLXfer_VFile (LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type) | |
virtual | ~LLXfer_VFile () |
virtual void | init (LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type) |
virtual void | free () |
virtual S32 | initializeRequest (U64 xfer_id, LLVFS *vfs, const LLUUID &local_id, const LLUUID &remote_id, const LLAssetType::EType type, const LLHost &remote_host, void(*callback)(void **, S32, LLExtStat), void **user_data) |
virtual S32 | startDownload () |
virtual S32 | processEOF () |
virtual S32 | startSend (U64 xfer_id, const LLHost &remote_host) |
virtual S32 | suck (S32 start_position) |
virtual S32 | flush () |
virtual BOOL | matchesLocalFile (const LLUUID &id, LLAssetType::EType type) |
virtual BOOL | matchesRemoteFile (const LLUUID &id, LLAssetType::EType type) |
virtual void | setXferSize (S32 xfer_size) |
virtual S32 | getMaxBufferSize () |
virtual U32 | getXferTypeTag () |
virtual const char * | getName () |
Protected Attributes | |
LLUUID | mLocalID |
LLUUID | mRemoteID |
LLUUID | mTempID |
LLAssetType::EType | mType |
LLVFile * | mVFile |
LLVFS * | mVFS |
char | mName [MAX_STRING] |
Definition at line 41 of file llxfer_vfile.h.
LLXfer_VFile::LLXfer_VFile | ( | ) |
Definition at line 47 of file llxfer_vfile.cpp.
References LLAssetType::AT_NONE, init(), LLUUID::null, and NULL.
LLXfer_VFile::LLXfer_VFile | ( | LLVFS * | vfs, | |
const LLUUID & | local_id, | |||
LLAssetType::EType | type | |||
) |
Definition at line 53 of file llxfer_vfile.cpp.
References init().
LLXfer_VFile::~LLXfer_VFile | ( | ) | [virtual] |
Definition at line 61 of file llxfer_vfile.cpp.
References free().
void LLXfer_VFile::init | ( | LLVFS * | vfs, | |
const LLUUID & | local_id, | |||
LLAssetType::EType | type | |||
) | [virtual] |
Definition at line 68 of file llxfer_vfile.cpp.
References LLAssetType::lookup(), mLocalID, mName, mType, mVFile, mVFS, NULL, LLUUID::toString(), and UUID_STR_LENGTH.
Referenced by LLXfer_VFile().
void LLXfer_VFile::free | ( | void | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 85 of file llxfer_vfile.cpp.
References LLXfer::free(), mTempID, mType, mVFile, mVFS, NULL, LLVFile::remove(), and LLVFile::WRITE.
Referenced by ~LLXfer_VFile().
S32 LLXfer_VFile::initializeRequest | ( | U64 | xfer_id, | |
LLVFS * | vfs, | |||
const LLUUID & | local_id, | |||
const LLUUID & | remote_id, | |||
const LLAssetType::EType | type, | |||
const LLHost & | remote_host, | |||
void(*)(void **, S32, LLExtStat) | callback, | |||
void ** | user_data | |||
) | [virtual] |
Definition at line 98 of file llxfer_vfile.cpp.
References e_LL_XFER_PENDING, LLUUID::generate(), LL_ERR_NOERR, LL_MAX_XFER_FILE_BUFFER, llendl, llinfos, LLAssetType::lookup(), LLXfer::mBuffer, LLXfer::mBufferLength, LLXfer::mCallback, LLXfer::mCallbackDataHandle, LLXfer::mCallbackResult, LLXfer::mID, mLocalID, mName, LLXfer::mPacketNum, LLXfer::mRemoteHost, mRemoteID, LLXfer::mStatus, mTempID, mType, mVFS, NULL, S32, LLUUID::toString(), and UUID_STR_LENGTH.
S32 LLXfer_VFile::startDownload | ( | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 145 of file llxfer_vfile.cpp.
References _PREHASH_Filename, _PREHASH_ID, _PREHASH_RequestXfer, _PREHASH_VFileID, _PREHASH_VFileType, _PREHASH_XferID, LLMessageSystem::addBOOL(), LLMessageSystem::addS16Fast(), LLMessageSystem::addStringFast(), LLMessageSystem::addU64Fast(), LLMessageSystem::addU8(), LLMessageSystem::addUUIDFast(), LLVFile::APPEND, e_LL_XFER_IN_PROGRESS, FALSE, gMessageSystem, LL_PATH_NONE, LL_XFER_LARGE_PAYLOAD, LLXfer::mChunkSize, LLXfer::mID, LLXfer::mRemoteHost, mRemoteID, LLXfer::mStatus, mTempID, mType, mVFS, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), S32, and LLMessageSystem::sendReliable().
S32 LLXfer_VFile::processEOF | ( | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 287 of file llxfer_vfile.cpp.
References e_LL_XFER_COMPLETE, flush(), llendl, llinfos, LLXfer::mCallbackResult, mLocalID, LLXfer::mStatus, mTempID, mType, mVFile, mVFS, NULL, LLXfer::processEOF(), LLVFile::rename(), S32, and LLVFile::WRITE.
Reimplemented from LLXfer.
Definition at line 168 of file llxfer_vfile.cpp.
References e_LL_XFER_PENDING, LLVFS::getExists(), LLVFile::getSize(), LL_ERR_FILE_EMPTY, LL_ERR_FILE_NOT_FOUND, LL_ERR_NOERR, LL_MAX_XFER_FILE_BUFFER, LLXfer::mBuffer, LLXfer::mBufferLength, LLXfer::mBufferStartOffset, LLXfer::mID, mLocalID, LLXfer::mPacketNum, LLXfer::mRemoteHost, LLXfer::mStatus, mType, mVFile, mVFS, NULL, LLVFile::READ, S32, and setXferSize().
Reimplemented from LLXfer.
Definition at line 235 of file llxfer_vfile.cpp.
References LLVFile::eof(), LLVFile::getLastBytesRead(), LLVFile::getSize(), LL_MAX_XFER_FILE_BUFFER, llendl, llwarns, LLXfer::mBuffer, LLXfer::mBufferContainsEOF, LLXfer::mBufferLength, LLXfer::mBufferStartOffset, mLocalID, mVFile, LLVFile::read(), S32, and LLVFile::seek().
S32 LLXfer_VFile::flush | ( | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 271 of file llxfer_vfile.cpp.
References LLVFile::APPEND, LLXfer::mBuffer, LLXfer::mBufferLength, mTempID, mType, mVFS, S32, and LLVFile::write().
Referenced by processEOF().
BOOL LLXfer_VFile::matchesLocalFile | ( | const LLUUID & | id, | |
LLAssetType::EType | type | |||
) | [virtual] |
BOOL LLXfer_VFile::matchesRemoteFile | ( | const LLUUID & | id, | |
LLAssetType::EType | type | |||
) | [virtual] |
void LLXfer_VFile::setXferSize | ( | S32 | xfer_size | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 213 of file llxfer_vfile.cpp.
References LLVFile::APPEND, mTempID, mType, mVFile, mVFS, LLVFile::setMaxSize(), and LLXfer::setXferSize().
Referenced by startSend().
S32 LLXfer_VFile::getMaxBufferSize | ( | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 228 of file llxfer_vfile.cpp.
References LL_MAX_XFER_FILE_BUFFER.
U32 LLXfer_VFile::getXferTypeTag | ( | ) | [virtual] |
Reimplemented from LLXfer.
Definition at line 340 of file llxfer_vfile.cpp.
References LLXfer::XFER_VFILE.
const char * LLXfer_VFile::getName | ( | void | ) | [virtual] |
LLUUID LLXfer_VFile::mLocalID [protected] |
Definition at line 44 of file llxfer_vfile.h.
Referenced by init(), initializeRequest(), matchesLocalFile(), processEOF(), startSend(), and suck().
LLUUID LLXfer_VFile::mRemoteID [protected] |
Definition at line 45 of file llxfer_vfile.h.
Referenced by initializeRequest(), matchesRemoteFile(), and startDownload().
LLUUID LLXfer_VFile::mTempID [protected] |
Definition at line 46 of file llxfer_vfile.h.
Referenced by flush(), free(), initializeRequest(), processEOF(), setXferSize(), and startDownload().
LLAssetType::EType LLXfer_VFile::mType [protected] |
Definition at line 47 of file llxfer_vfile.h.
Referenced by flush(), free(), init(), initializeRequest(), matchesLocalFile(), matchesRemoteFile(), processEOF(), setXferSize(), startDownload(), and startSend().
LLVFile* LLXfer_VFile::mVFile [protected] |
Definition at line 49 of file llxfer_vfile.h.
Referenced by free(), init(), processEOF(), setXferSize(), startSend(), and suck().
LLVFS* LLXfer_VFile::mVFS [protected] |
Definition at line 51 of file llxfer_vfile.h.
Referenced by flush(), free(), init(), initializeRequest(), processEOF(), setXferSize(), startDownload(), and startSend().
char LLXfer_VFile::mName[MAX_STRING] [protected] |
Definition at line 53 of file llxfer_vfile.h.
Referenced by getName(), init(), and initializeRequest().