LLXfer Class Reference

#include <llxfer.h>

Inheritance diagram for LLXfer:

Inheritance graph
[legend]
Collaboration diagram for LLXfer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLXfer (S32 chunk_size)
virtual ~LLXfer ()
void init (S32 chunk_size)
virtual void free ()
virtual S32 startSend (U64 xfer_id, const LLHost &remote_host)
virtual void sendPacket (S32 packet_num)
virtual void sendNextPacket ()
virtual void resendLastPacket ()
virtual S32 processEOF ()
virtual S32 startDownload ()
virtual S32 receiveData (char *datap, S32 data_size)
virtual void abort (S32)
virtual S32 suck (S32 start_position)
virtual S32 flush ()
virtual S32 encodePacketNum (S32 packet_num, BOOL is_eof)
virtual void setXferSize (S32 data_size)
virtual S32 getMaxBufferSize ()
virtual const char * getName ()
virtual U32 getXferTypeTag ()

Public Attributes

LLXfermNext
U64 mID
S32 mPacketNum
LLHost mRemoteHost
S32 mXferSize
char * mBuffer
U32 mBufferLength
U32 mBufferStartOffset
BOOL mBufferContainsEOF
ELLXferStatus mStatus
BOOL mWaitingForACK
void(* mCallback )(void **, S32, LLExtStat)
void ** mCallbackDataHandle
S32 mCallbackResult
LLTimer ACKTimer
S32 mRetries

Static Public Attributes

static const U32 XFER_FILE = 1
static const U32 XFER_VFILE = 2
static const U32 XFER_MEM = 3

Protected Attributes

S32 mChunkSize

Friends

std::ostream & operator<< (std::ostream &os, LLXfer &hh)


Detailed Description

Definition at line 50 of file llxfer.h.


Constructor & Destructor Documentation

LLXfer::LLXfer ( S32  chunk_size  ) 

Definition at line 49 of file llxfer.cpp.

References init().

Here is the call graph for this function:

LLXfer::~LLXfer (  )  [virtual]

Definition at line 56 of file llxfer.cpp.

References free().

Here is the call graph for this function:


Member Function Documentation

void LLXfer::init ( S32  chunk_size  ) 

void LLXfer::free ( void   )  [virtual]

Reimplemented in LLXfer_File, LLXfer_Mem, and LLXfer_VFile.

Definition at line 93 of file llxfer.cpp.

References mBuffer, and NULL.

Referenced by LLXfer_VFile::free(), LLXfer_Mem::free(), LLXfer_File::free(), and ~LLXfer().

Here is the caller graph for this function:

S32 LLXfer::startSend ( U64  xfer_id,
const LLHost remote_host 
) [virtual]

Reimplemented in LLXfer_File, LLXfer_Mem, and LLXfer_VFile.

Definition at line 104 of file llxfer.cpp.

References getName(), llendl, and llwarns.

Referenced by LLXferManager::processFileRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXfer::sendPacket ( S32  packet_num  )  [virtual]

void LLXfer::sendNextPacket (  )  [virtual]

Definition at line 272 of file llxfer.cpp.

References mPacketNum, mRetries, and sendPacket().

Referenced by LLXferManager::processConfirmation(), LLXferManager::processFileRequest(), and LLXferManager::retransmitUnackedPackets().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXfer::resendLastPacket (  )  [virtual]

Definition at line 280 of file llxfer.cpp.

References mPacketNum, mRetries, and sendPacket().

Referenced by LLXferManager::retransmitUnackedPackets().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLXfer::processEOF (  )  [virtual]

S32 LLXfer::startDownload (  )  [virtual]

Reimplemented in LLXfer_File, LLXfer_Mem, and LLXfer_VFile.

Definition at line 120 of file llxfer.cpp.

References getName(), llendl, and llwarns.

Referenced by LLXferManager::startPendingDownloads().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLXfer::receiveData ( char *  datap,
S32  data_size 
) [virtual]

Definition at line 129 of file llxfer.cpp.

References flush(), getMaxBufferSize(), llendl, llerrs, mBuffer, mBufferLength, NULL, and S32.

Referenced by LLXferManager::processReceiveData().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLXfer::abort ( S32  result_code  )  [virtual]

S32 LLXfer::suck ( S32  start_position  )  [virtual]

Reimplemented in LLXfer_File, and LLXfer_VFile.

Definition at line 168 of file llxfer.cpp.

References llendl, and llwarns.

Referenced by sendPacket().

Here is the caller graph for this function:

S32 LLXfer::flush (  )  [virtual]

Reimplemented in LLXfer_File, and LLXfer_VFile.

Definition at line 156 of file llxfer.cpp.

Referenced by receiveData().

Here is the caller graph for this function:

S32 LLXfer::encodePacketNum ( S32  packet_num,
BOOL  is_eof 
) [virtual]

Definition at line 315 of file llxfer.cpp.

Referenced by sendPacket().

Here is the caller graph for this function:

void LLXfer::setXferSize ( S32  data_size  )  [virtual]

Reimplemented in LLXfer_Mem, and LLXfer_VFile.

Definition at line 112 of file llxfer.cpp.

References mXferSize.

Referenced by LLXferManager::processReceiveData(), LLXfer_VFile::setXferSize(), and LLXfer_File::startSend().

Here is the caller graph for this function:

S32 LLXfer::getMaxBufferSize (  )  [virtual]

Reimplemented in LLXfer_File, and LLXfer_VFile.

Definition at line 362 of file llxfer.cpp.

References mXferSize.

Referenced by receiveData().

Here is the caller graph for this function:

const char * LLXfer::getName ( void   )  [virtual]

Reimplemented in LLXfer_File, and LLXfer_VFile.

Definition at line 346 of file llxfer.cpp.

References mID, and U64_to_str().

Referenced by abort(), operator<<(), LLXfer_Mem::processEOF(), processEOF(), LLXferManager::processReceiveData(), LLXferManager::retransmitUnackedPackets(), startDownload(), and startSend().

Here is the call graph for this function:

Here is the caller graph for this function:

U32 LLXfer::getXferTypeTag (  )  [virtual]

Reimplemented in LLXfer_File, LLXfer_Mem, and LLXfer_VFile.

Definition at line 355 of file llxfer.cpp.

Referenced by LLXferManager::requestFile(), and LLXferManager::requestVFile().

Here is the caller graph for this function:


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
LLXfer hh 
) [friend]

Definition at line 368 of file llxfer.cpp.


Member Data Documentation

S32 LLXfer::mChunkSize [protected]

void(* LLXfer::mCallback)(void **, S32, LLExtStat)

Definition at line 77 of file llxfer.h.

Referenced by LLXferManager::retransmitUnackedPackets(), and sendPacket().

const U32 LLXfer::XFER_FILE = 1 [static]

Definition at line 80 of file llxfer.h.

Referenced by LLXfer_File::getXferTypeTag(), and LLXferManager::requestFile().

const U32 LLXfer::XFER_VFILE = 2 [static]

Definition at line 81 of file llxfer.h.

Referenced by LLXfer_VFile::getXferTypeTag(), and LLXferManager::requestVFile().

const U32 LLXfer::XFER_MEM = 3 [static]

Definition at line 82 of file llxfer.h.

Referenced by LLXfer_Mem::getXferTypeTag().


The documentation for this class was generated from the following files:

Generated on Fri May 16 09:40:42 2008 for SecondLife by  doxygen 1.5.5