#include <llcircuit.h>
Collaboration diagram for LLCircuit:
Public Types | |
typedef std::map< LLHost, LLCircuitData * > | circuit_data_map |
Public Member Functions | |
LLCircuit () | |
~LLCircuit () | |
LLCircuitData * | findCircuit (const LLHost &host) const |
BOOL | isCircuitAlive (const LLHost &host) const |
LLCircuitData * | addCircuitData (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 |
LLCircuitData * | mLastCircuit |
Friends | |
std::ostream & | operator<< (std::ostream &s, LLCircuit &circuit) |
Definition at line 284 of file llcircuit.h.
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.
LLCircuit::LLCircuit | ( | ) |
Definition at line 431 of file llcircuit.cpp.
LLCircuit::~LLCircuit | ( | ) |
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.
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().
Definition at line 635 of file llcircuit.cpp.
References FALSE, findCircuit(), and LLCircuitData::mbAlive.
Referenced by LLXferManager::retransmitUnackedPackets().
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().
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().
std::ostream& operator<< | ( | std::ostream & | s, | |
LLCircuit & | circuit | |||
) | [friend] |
Definition at line 1191 of file llcircuit.cpp.
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().
Definition at line 330 of file llcircuit.h.
Referenced by LLCircuitData::collectRAck(), removeCircuitData(), and sendAcks().
Definition at line 329 of file llcircuit.h.
Referenced by LLMessageSystem::checkMessages(), process_packet_ack(), removeCircuitData(), resendUnackedPackets(), and LLMessageSystem::sendMessage().