LLCircuit Class Reference

#include <llcircuit.h>

Collaboration diagram for LLCircuit:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< LLHost,
LLCircuitData * > 
circuit_data_map

Public Member Functions

 LLCircuit ()
 ~LLCircuit ()
LLCircuitDatafindCircuit (const LLHost &host) const
BOOL isCircuitAlive (const LLHost &host) const
LLCircuitDataaddCircuitData (const LLHost &host, TPACKETID in_id)
void removeCircuitData (const LLHost &host)
void updateWatchDogTimers (LLMessageSystem *msgsys)
void resendUnackedPackets (S32 &unacked_list_length, S32 &unacked_list_size)
void sendAcks ()
const LLString getInfoString () const
void dumpResends ()
void getCircuitRange (const LLHost &key, circuit_data_map::iterator &first, circuit_data_map::iterator &end)
 This method gets an iterator range starting after key in the circuit data map.

Public Attributes

circuit_data_map mUnackedCircuitMap
circuit_data_map mSendAckMap

Protected Types

typedef std::set< LLCircuitData *,
LLCircuitData::less
ping_set_t

Protected Attributes

circuit_data_map mCircuitData
ping_set_t mPingSet
LLCircuitDatamLastCircuit

Friends

std::ostream & operator<< (std::ostream &s, LLCircuit &circuit)

Detailed Description

Definition at line 284 of file llcircuit.h.


Member Typedef Documentation

typedef std::map<LLHost, LLCircuitData*> LLCircuit::circuit_data_map

Definition at line 311 of file llcircuit.h.

typedef std::set<LLCircuitData *, LLCircuitData::less> LLCircuit::ping_set_t [protected]

Definition at line 334 of file llcircuit.h.


Constructor & Destructor Documentation

LLCircuit::LLCircuit (  ) 

Definition at line 431 of file llcircuit.cpp.

LLCircuit::~LLCircuit (  ) 

Definition at line 435 of file llcircuit.cpp.

References llcompose1(), and mCircuitData.


Member Function Documentation

LLCircuitData * LLCircuit::addCircuitData ( const LLHost host,
TPACKETID  in_id 
)

Definition at line 445 of file llcircuit.cpp.

References llendl, llinfos, mCircuitData, mLastCircuit, and mPingSet.

Referenced by LLMessageSystem::enableCircuit(), LLMessageSystem::findCircuit(), and LLMessageSystem::sendMessage().

void LLCircuit::dumpResends (  ) 

Definition at line 608 of file llcircuit.cpp.

References end, and mCircuitData.

Referenced by LLMessageSystem::processAcks().

LLCircuitData * LLCircuit::findCircuit ( const LLHost host  )  const

Definition at line 617 of file llcircuit.cpp.

References mCircuitData, LLCircuitData::mHost, mLastCircuit, and NULL.

Referenced by LLMessageSystem::checkCircuitAlive(), LLMessageSystem::checkCircuitBlocked(), LLMessageSystem::checkMessages(), LLMessageSystem::enableCircuit(), LLMessageSystem::establishBidirectionalTrust(), LLMessageSystem::findCircuit(), LLMessageSystem::flushSemiReliable(), LLMessageSystem::getCircuitTrust(), LLViewerRegion::getPacketsLost(), LLMessageSystem::getSenderID(), LLMessageSystem::getSenderSessionID(), isCircuitAlive(), LLMessageSystem::isTrustedSender(), LLWorld::printPacketsLost(), process_complete_ping_check(), process_create_trusted_circuit(), process_deny_trusted_circuit(), process_packet_ack(), process_start_ping_check(), LLViewerObject::processUpdateMessage(), LLMessageSystem::processUseCircuitCode(), LLMessageSystem::reallySendDenyTrustedCircuit(), LLMessageSystem::sendMessage(), LLMessageSystem::sendReliable(), LLMessageSystem::sendSemiReliable(), LLMessageSystem::setCircuitAllowTimeout(), LLMessageSystem::setCircuitTimeoutCallback(), update_statistics(), LLViewerRegion::updateNetStats(), and LLTransferSourceChannel::updateTransfers().

void LLCircuit::getCircuitRange ( const LLHost key,
circuit_data_map::iterator &  first,
circuit_data_map::iterator &  end 
)

This method gets an iterator range starting after key in the circuit data map.

Parameters:
key The the host before first.
first[out] The first matching value after key. This value will equal end if there are no entries.
end[out] The end of the iteration sequence.

const LLString LLCircuit::getInfoString (  )  const

Definition at line 1203 of file llcircuit.cpp.

References end, and mCircuitData.

Referenced by LLMessageSystem::getCircuitInfoString().

BOOL LLCircuit::isCircuitAlive ( const LLHost host  )  const

Definition at line 635 of file llcircuit.cpp.

References FALSE, findCircuit(), and LLCircuitData::mbAlive.

Referenced by LLXferManager::retransmitUnackedPackets().

void LLCircuit::removeCircuitData ( const LLHost host  ) 

Definition at line 457 of file llcircuit.cpp.

References llendl, llinfos, llwarns, mCircuitData, mLastCircuit, mPingSet, mSendAckMap, mUnackedCircuitMap, and NULL.

Referenced by LLMessageSystem::disableCircuit(), and updateWatchDogTimers().

void LLCircuit::resendUnackedPackets ( S32 unacked_list_length,
S32 unacked_list_size 
)

Definition at line 585 of file llcircuit.cpp.

References end, LLMessageSystem::getMessageTimeSeconds(), LLCircuitData::getUnackedPacketBytes(), mUnackedCircuitMap, and LLCircuitData::resendUnackedPackets().

Referenced by LLMessageSystem::processAcks().

void LLCircuit::sendAcks (  ) 

Definition at line 1078 of file llcircuit.cpp.

References _PREHASH_ID, _PREHASH_PacketAck, _PREHASH_Packets, LLMessageSystem::addU32Fast(), count, end, gMessageSystem, i, llendl, llinfos, LLCircuitData::mAcks, LLCircuitData::mHost, mSendAckMap, LLMessageSystem::mVerboseLog, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), S32, and LLMessageSystem::sendMessage().

Referenced by LLMessageSystem::processAcks().

void LLCircuit::updateWatchDogTimers ( LLMessageSystem msgsys  ) 

Definition at line 771 of file llcircuit.cpp.

References LLCircuitData::checkPeriodTime(), count, LLThrottleGroup::dynamicAdjust(), f, LLMessageSystem::getMessageTimeSeconds(), ll_frand(), LLCircuitData::mbAlive, LLCircuitData::mHost, LLCircuitData::mNextPingSendTime, mPingSet, LLCircuitData::mThrottles, PING_INTERVAL, removeCircuitData(), S32, and LLCircuitData::updateWatchDogTimers().

Referenced by LLMessageSystem::processAcks().


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
LLCircuit circuit 
) [friend]

Definition at line 1191 of file llcircuit.cpp.


Member Data Documentation

circuit_data_map LLCircuit::mCircuitData [protected]

Definition at line 332 of file llcircuit.h.

Referenced by addCircuitData(), dumpResends(), findCircuit(), getInfoString(), operator<<(), removeCircuitData(), and ~LLCircuit().

LLCircuitData* LLCircuit::mLastCircuit [mutable, protected]

Definition at line 340 of file llcircuit.h.

Referenced by addCircuitData(), findCircuit(), and removeCircuitData().

ping_set_t LLCircuit::mPingSet [protected]

Definition at line 335 of file llcircuit.h.

Referenced by addCircuitData(), removeCircuitData(), and updateWatchDogTimers().

circuit_data_map LLCircuit::mSendAckMap

Definition at line 330 of file llcircuit.h.

Referenced by LLCircuitData::collectRAck(), removeCircuitData(), and sendAcks().

circuit_data_map LLCircuit::mUnackedCircuitMap

Definition at line 329 of file llcircuit.h.

Referenced by LLMessageSystem::checkMessages(), process_packet_ack(), removeCircuitData(), resendUnackedPackets(), and LLMessageSystem::sendMessage().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:12 2010 for Second Life Viewer by  doxygen 1.4.7