#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().
1.5.5