#include <llcircuit.h>
Collaboration diagram for LLCircuitData:
Definition at line 84 of file llcircuit.h.
typedef std::map<TPACKETID, U64> LLCircuitData::packet_time_map [protected] |
Definition at line 239 of file llcircuit.h.
typedef reliable_map::iterator LLCircuitData::reliable_iter [protected] |
Definition at line 246 of file llcircuit.h.
typedef std::map<TPACKETID, LLReliablePacket *> LLCircuitData::reliable_map [protected] |
Definition at line 245 of file llcircuit.h.
Definition at line 72 of file llcircuit.cpp.
References f, LLUUID::generate(), LLMessageSystem::getMessageTimeSeconds(), ll_frand(), mLastPingReceivedTime, mLastPingSendTime, mLocalEndPointID, mNextPingSendTime, mPeriodTime, mPingTime, mTimeoutCallback, mTimeoutUserData, NULL, PING_INTERVAL, and TRUE.
LLCircuitData::~LLCircuitData | ( | ) |
Definition at line 127 of file llcircuit.cpp.
References LLTransferManager::cleanupConnection(), end, gMessageSystem, gTransferManager, LL_ERR_CIRCUIT_GONE, llendl, llinfos, LLReliablePacket::mBufferLength, LLReliablePacket::mCallback, LLReliablePacket::mCallbackData, LLMessageSystem::mFailedResendPackets, mFinalRetryPackets, mHost, LLReliablePacket::mPacketID, mUnackedPacketBytes, mUnackedPacketCount, mUnackedPackets, LLMessageSystem::mVerboseLog, and NULL.
Definition at line 192 of file llcircuit.cpp.
References gMessageSystem, LL_ERR_NOERR, LL_ERR_TCP_TIMEOUT, llendl, llinfos, LLReliablePacket::mBufferLength, LLReliablePacket::mCallback, LLReliablePacket::mCallbackData, mFinalRetryPackets, LLReliablePacket::mHost, LLReliablePacket::mPacketID, LLReliablePacket::mTimeout, mUnackedPacketBytes, mUnackedPacketCount, mUnackedPackets, and LLMessageSystem::mVerboseLog.
Referenced by LLMessageSystem::checkMessages(), and process_packet_ack().
Definition at line 551 of file llcircuit.cpp.
References mBytesIn, and mBytesInThisPeriod.
Referenced by LLMessageSystem::logValidMsg().
Definition at line 558 of file llcircuit.cpp.
References mBytesOut, and mBytesOutThisPeriod.
Referenced by LLMessageSystem::sendMessage().
void LLCircuitData::addReliablePacket | ( | S32 | mSocket, | |
U8 * | buf_ptr, | |||
S32 | buf_len, | |||
LLReliablePacketParams * | params | |||
) | [protected] |
Definition at line 565 of file llcircuit.cpp.
References LLReliablePacket::mBufferLength, mFinalRetryPackets, LLReliablePacket::mPacketID, mUnackedPacketBytes, mUnackedPacketCount, mUnackedPackets, and params.
Referenced by LLMessageSystem::sendMessage().
BOOL LLCircuitData::checkCircuitTimeout | ( | ) | [protected] |
Definition at line 1034 of file llcircuit.cpp.
References FALSE, LLMessageSystem::getMessageTimeSeconds(), isAlive(), llendl, llwarns, mHost, mLastPingReceivedTime, mTimeoutCallback, mTimeoutUserData, PING_INTERVAL_ALARM, PING_INTERVAL_MAX, setAlive(), and TRUE.
Referenced by updateWatchDogTimers().
Definition at line 652 of file llcircuit.cpp.
References f, LLMessageSystem::getMessageTimeUsecs(), gMessageSystem, LL_MAX_OUT_PACKET_ID, llendl, llinfos, llmax(), llwarns, mHighestPacketID, mHost, mPacketsIn, mPacketsInID, mPotentialLostPackets, LLMessageSystem::mVerboseLog, mWrapID, S32, and setPacketInID().
Referenced by LLMessageSystem::logValidMsg(), and LLMessageSystem::processUseCircuitCode().
void LLCircuitData::checkPeriodTime | ( | ) |
Definition at line 522 of file llcircuit.cpp.
References f, LLMessageSystem::getMessageTimeSeconds(), mBytesInLastPeriod, mBytesInThisPeriod, mBytesOutLastPeriod, mBytesOutThisPeriod, mLastPeriodLength, mPeakBPSIn, mPeakBPSOut, mPeriodTime, and TARGET_PERIOD_LENGTH.
Referenced by LLCircuit::updateWatchDogTimers().
Definition at line 986 of file llcircuit.cpp.
References LLMessageSystem::getMessageTimeUsecs(), LL_DUPLICATE_SUPPRESSION_TIMEOUT, llendl, llinfos, llwarns, mHighestPacketID, mRecentlyReceivedReliablePackets, and SEC_PER_USEC.
Referenced by process_start_ping_check().
Definition at line 1064 of file llcircuit.cpp.
References gMessageSystem, mAcks, LLMessageSystem::mCircuitInfo, mHost, LLCircuit::mSendAckMap, and TRUE.
Referenced by LLMessageSystem::checkMessages().
void LLCircuitData::dumpResendCountAndReset | ( | ) |
Definition at line 1182 of file llcircuit.cpp.
References llendl, llinfos, mCurrentResendCount, and mHost.
F32 LLCircuitData::getAgeInSeconds | ( | ) | const |
Definition at line 1402 of file llcircuit.cpp.
References LLTimer::getElapsedTimeF32(), and mExistenceTimer.
BOOL LLCircuitData::getAllowTimeout | ( | ) | const |
S32 LLCircuitData::getBytesIn | ( | ) | const |
Definition at line 1304 of file llcircuit.cpp.
References mBytesIn.
Referenced by LLViewerRegion::updateNetStats().
S32 LLCircuitData::getBytesOut | ( | ) | const |
const LLString LLCircuitData::getInfoString | ( | ) | const |
Definition at line 1173 of file llcircuit.cpp.
References LLTimer::getElapsedTimeF32(), mbAlive, mExistenceTimer, and mHost.
const LLUUID& LLCircuitData::getLocalEndPointID | ( | ) | const [inline] |
Definition at line 114 of file llcircuit.h.
References mLocalEndPointID.
Referenced by process_create_trusted_circuit(), process_deny_trusted_circuit(), and LLMessageSystem::reallySendDenyTrustedCircuit().
F64 LLCircuitData::getNextPingSendTime | ( | ) | const [inline] |
Definition at line 135 of file llcircuit.h.
References mNextPingSendTime.
Referenced by LLCircuitData::less::operator()().
TPACKETID LLCircuitData::getPacketOutID | ( | ) | const |
Definition at line 1322 of file llcircuit.cpp.
References mPacketsOutID.
Referenced by LLMessageSystem::sendMessage(), and updateWatchDogTimers().
U32 LLCircuitData::getPacketsIn | ( | ) | const |
Definition at line 1298 of file llcircuit.cpp.
References mPacketsIn.
Referenced by LLViewerRegion::updateNetStats().
U32 LLCircuitData::getPacketsLost | ( | ) | const |
Definition at line 1328 of file llcircuit.cpp.
References mPacketsLost.
Referenced by LLViewerRegion::getPacketsLost(), LLWorld::printPacketsLost(), and LLViewerRegion::updateNetStats().
U32 LLCircuitData::getPacketsOut | ( | ) | const |
Definition at line 1316 of file llcircuit.cpp.
References mPacketsOut.
Referenced by resendUnackedPackets(), and LLViewerRegion::updateNetStats().
U32 LLCircuitData::getPingDelay | ( | ) | const |
Definition at line 1352 of file llcircuit.cpp.
References mPingDelay.
Referenced by LLViewerObject::processUpdateMessage(), update_statistics(), and LLViewerRegion::updateNetStats().
F32 LLCircuitData::getPingDelayAveraged | ( | ) |
Definition at line 1385 of file llcircuit.cpp.
References getPingInTransitTime(), LL_AVERAGED_PING_MAX, llmax(), llmin(), and mPingDelayAveraged.
Referenced by LLMessageSystem::flushSemiReliable(), resendUnackedPackets(), LLMessageSystem::sendReliable(), LLMessageSystem::sendSemiReliable(), setPingDelay(), and updateWatchDogTimers().
F32 LLCircuitData::getPingInTransitTime | ( | ) |
Definition at line 1358 of file llcircuit.cpp.
References LLMessageSystem::getMessageTimeSeconds(), mPingsInTransit, mPingTime, and PING_INTERVAL.
Referenced by getPingDelayAveraged().
S32 LLCircuitData::getPingsInTransit | ( | ) | const [inline] |
const LLUUID& LLCircuitData::getRemoteID | ( | ) | const [inline] |
const LLUUID& LLCircuitData::getRemoteSessionID | ( | ) | const [inline] |
LLThrottleGroup& LLCircuitData::getThrottleGroup | ( | ) | [inline] |
Definition at line 137 of file llcircuit.h.
References mThrottles.
Referenced by LLTransferSourceChannel::updateTransfers().
BOOL LLCircuitData::getTrusted | ( | ) | const |
Definition at line 1391 of file llcircuit.cpp.
References mTrusted.
Referenced by LLMessageSystem::checkMessages(), LLMessageSystem::establishBidirectionalTrust(), LLMessageSystem::getCircuitTrust(), LLMessageSystem::isTrustedSender(), and process_create_trusted_circuit().
S32 LLCircuitData::getUnackedPacketBytes | ( | ) | const [inline] |
Definition at line 134 of file llcircuit.h.
References mUnackedPacketBytes.
Referenced by LLCircuit::resendUnackedPackets().
S32 LLCircuitData::getUnackedPacketCount | ( | ) | const [inline] |
Definition at line 133 of file llcircuit.h.
References mUnackedPacketCount.
Referenced by LLMessageSystem::checkMessages(), process_packet_ack(), and LLMessageSystem::sendMessage().
BOOL LLCircuitData::isAlive | ( | ) | const |
Definition at line 1334 of file llcircuit.cpp.
References mbAlive.
Referenced by LLMessageSystem::checkCircuitAlive(), checkCircuitTimeout(), LLMessageSystem::findCircuit(), and LLMessageSystem::sendMessage().
BOOL LLCircuitData::isBlocked | ( | ) | const |
Definition at line 1340 of file llcircuit.cpp.
References mBlocked.
Referenced by LLMessageSystem::checkCircuitBlocked(), and LLTransferSourceChannel::updateTransfers().
Definition at line 602 of file llcircuit.cpp.
References mRecentlyReceivedReliablePackets.
Referenced by LLMessageSystem::checkMessages().
TPACKETID LLCircuitData::nextPacketOutID | ( | ) | [protected] |
Definition at line 1225 of file llcircuit.cpp.
References LL_MAX_OUT_PACKET_ID, mPacketsOut, mPacketsOutID, and mWrapID.
Referenced by LLMessageSystem::sendMessage().
U8 LLCircuitData::nextPingID | ( | ) | [inline, protected] |
Definition at line 177 of file llcircuit.h.
References mLastPingID.
Referenced by updateWatchDogTimers().
void LLCircuitData::pingTimerStart | ( | ) |
Definition at line 1286 of file llcircuit.cpp.
References LLMessageSystem::getMessageTimeSeconds(), mBlocked, mPingsInTransit, mPingTime, PING_START_BLOCK, and TRUE.
Referenced by updateWatchDogTimers().
Definition at line 1253 of file llcircuit.cpp.
References f, FALSE, LLMessageSystem::getMessageTimeSeconds(), mBlocked, mLastPingID, mLastPingReceivedTime, mPingsInTransit, mPingTime, PING_INTERVAL, PING_RELEASE_BLOCK, S32, setPingDelay(), and TRUE.
Referenced by process_complete_ping_check().
Definition at line 272 of file llcircuit.cpp.
References LLThrottleGroup::checkOverflow(), FALSE, getPacketsOut(), getPingDelayAveraged(), gMessageSystem, LL_ERR_TCP_TIMEOUT, LL_MINIMUM_RELIABLE_TIMEOUT_SECONDS, LL_RELIABLE_TIMEOUT_FACTOR, LL_RESENT_FLAG, llendl, llinfos, llmax(), llwarns, LLReliablePacket::mBuffer, LLReliablePacket::mBufferLength, LLReliablePacket::mCallback, LLReliablePacket::mCallbackData, mCurrentResendCount, LLReliablePacket::mExpirationTime, LLMessageSystem::mFailedResendPackets, mFinalRetryPackets, LLReliablePacket::mHost, mHost, LLReliablePacket::mPacketID, LLMessageSystem::mPacketRing, LLReliablePacket::mPingBasedRetry, LLMessageSystem::mResentPackets, LLReliablePacket::mRetries, LLReliablePacket::mSocket, mThrottles, LLReliablePacket::mTimeout, mUnackedPacketBytes, mUnackedPacketCount, mUnackedPackets, LLMessageSystem::mVerboseLog, S32, LLPacketRing::sendPacket(), TC_RESEND, and LLThrottleGroup::throttleOverflow().
Referenced by LLCircuit::resendUnackedPackets().
Definition at line 491 of file llcircuit.cpp.
References FALSE, LLMessageSystem::getMessageTimeSeconds(), mbAlive, mBlocked, mLastPingReceivedTime, mPacketsInID, mPacketsOutID, and mPingsInTransit.
Referenced by checkCircuitTimeout(), LLMessageSystem::enableCircuit(), LLMessageSystem::findCircuit(), and setAllowTimeout().
Definition at line 508 of file llcircuit.cpp.
References mbAllowTimeout, setAlive(), and TRUE.
Referenced by LLMessageSystem::setCircuitAllowTimeout().
Definition at line 1243 of file llcircuit.cpp.
References LL_MAX_OUT_PACKET_ID, mPacketsInID, mRecentlyReceivedReliablePackets, and mWrapID.
Referenced by checkPacketInID(), and LLMessageSystem::findCircuit().
Definition at line 1373 of file llcircuit.cpp.
References getPingDelayAveraged(), LL_AVERAGED_PING_ALPHA, LL_AVERAGED_PING_MAX, LL_AVERAGED_PING_MIN, llclamp(), llmax(), mPingDelay, and mPingDelayAveraged.
Referenced by pingTimerStop().
Definition at line 106 of file llcircuit.h.
References mRemoteID.
Referenced by LLMessageSystem::processUseCircuitCode().
Definition at line 107 of file llcircuit.h.
References mRemoteSessionID.
Referenced by LLMessageSystem::processUseCircuitCode().
void LLCircuitData::setTimeoutCallback | ( | void(*)(const LLHost &host, void *user_data) | callback_func, | |
void * | user_data | |||
) | [protected] |
Definition at line 646 of file llcircuit.cpp.
References mTimeoutCallback, and mTimeoutUserData.
Referenced by LLMessageSystem::setCircuitTimeoutCallback().
Definition at line 1397 of file llcircuit.cpp.
References mTrusted.
Referenced by LLMessageSystem::enableCircuit(), and process_create_trusted_circuit().
BOOL LLCircuitData::updateWatchDogTimers | ( | LLMessageSystem * | msgsys | ) | [protected] |
Definition at line 837 of file llcircuit.cpp.
References _PREHASH_OldestUnacked, _PREHASH_PingID, _PREHASH_StartPingCheck, LLMessageSystem::addU32Fast(), LLMessageSystem::addU8Fast(), checkCircuitTimeout(), FALSE, LLMessageSystem::getMessageTimeSeconds(), LLMessageSystem::getMessageTimeUsecs(), getPacketOutID(), getPingDelayAveraged(), gMessageSystem, LL_LOST_TIMEOUT_FACTOR, LL_MAX_LOST_TIMEOUT, llendl, llinfos, llmin(), LLMessageSystem::mDroppedPackets, mFinalRetryPackets, mHost, mLastPingSendTime, mPacketsLost, mPotentialLostPackets, mUnackedPackets, LLMessageSystem::mVerboseLog, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlock(), nextPingID(), pingTimerStart(), LLMessageSystem::sendMessage(), and TRUE.
Referenced by LLCircuit::updateWatchDogTimers().
friend class LLCircuit [friend] |
Definition at line 163 of file llcircuit.h.
friend class LLEncodedDatagramService [friend] |
Definition at line 165 of file llcircuit.h.
friend class LLMessageSystem [friend] |
Definition at line 164 of file llcircuit.h.
std::ostream& operator<< | ( | std::ostream & | s, | |
LLCircuitData & | circuit | |||
) | [friend] |
Definition at line 1130 of file llcircuit.cpp.
std::vector<TPACKETID> LLCircuitData::mAcks [protected] |
Definition at line 243 of file llcircuit.h.
Referenced by collectRAck(), LLCircuit::sendAcks(), and LLMessageSystem::sendMessage().
BOOL LLCircuitData::mbAlive [protected] |
Definition at line 221 of file llcircuit.h.
Referenced by getInfoString(), isAlive(), LLCircuit::isCircuitAlive(), operator<<(), setAlive(), and LLCircuit::updateWatchDogTimers().
BOOL LLCircuitData::mbAllowTimeout [protected] |
Definition at line 219 of file llcircuit.h.
Referenced by getAllowTimeout(), operator<<(), and setAllowTimeout().
BOOL LLCircuitData::mBlocked [protected] |
Definition at line 223 of file llcircuit.h.
Referenced by isBlocked(), pingTimerStart(), pingTimerStop(), and setAlive().
S32 LLCircuitData::mBytesIn [protected] |
Definition at line 265 of file llcircuit.h.
Referenced by addBytesIn(), getBytesIn(), and operator<<().
S32 LLCircuitData::mBytesInLastPeriod [protected] |
S32 LLCircuitData::mBytesInThisPeriod [protected] |
S32 LLCircuitData::mBytesOut [protected] |
Definition at line 266 of file llcircuit.h.
Referenced by addBytesOut(), getBytesOut(), and operator<<().
S32 LLCircuitData::mBytesOutLastPeriod [protected] |
S32 LLCircuitData::mBytesOutThisPeriod [protected] |
S32 LLCircuitData::mCurrentResendCount [protected] |
Definition at line 278 of file llcircuit.h.
Referenced by dumpResendCountAndReset(), and resendUnackedPackets().
LLTimer LLCircuitData::mExistenceTimer [protected] |
Definition at line 276 of file llcircuit.h.
Referenced by getAgeInSeconds(), getInfoString(), and operator<<().
reliable_map LLCircuitData::mFinalRetryPackets [protected] |
Definition at line 249 of file llcircuit.h.
Referenced by ackReliablePacket(), addReliablePacket(), resendUnackedPackets(), updateWatchDogTimers(), and ~LLCircuitData().
TPACKETID LLCircuitData::mHighestPacketID [protected] |
Definition at line 210 of file llcircuit.h.
Referenced by checkPacketInID(), and clearDuplicateList().
LLHost LLCircuitData::mHost [protected] |
Definition at line 198 of file llcircuit.h.
Referenced by checkCircuitTimeout(), LLMessageSystem::checkMessages(), checkPacketInID(), collectRAck(), dumpResendCountAndReset(), LLCircuit::findCircuit(), getInfoString(), operator<<(), resendUnackedPackets(), LLCircuit::sendAcks(), LLMessageSystem::sendMessage(), updateWatchDogTimers(), LLCircuit::updateWatchDogTimers(), and ~LLCircuitData().
F32 LLCircuitData::mLastPeriodLength [protected] |
U8 LLCircuitData::mLastPingID [protected] |
F64 LLCircuitData::mLastPingReceivedTime [protected] |
Definition at line 229 of file llcircuit.h.
Referenced by checkCircuitTimeout(), LLCircuitData(), pingTimerStop(), and setAlive().
F64 LLCircuitData::mLastPingSendTime [protected] |
Definition at line 228 of file llcircuit.h.
Referenced by LLCircuitData(), and updateWatchDogTimers().
LLUUID LLCircuitData::mLocalEndPointID [protected] |
Definition at line 255 of file llcircuit.h.
Referenced by getLocalEndPointID(), and LLCircuitData().
F64 LLCircuitData::mNextPingSendTime [protected] |
Definition at line 230 of file llcircuit.h.
Referenced by getNextPingSendTime(), LLCircuitData(), and LLCircuit::updateWatchDogTimers().
U32 LLCircuitData::mPacketsIn [protected] |
Definition at line 263 of file llcircuit.h.
Referenced by checkPacketInID(), getPacketsIn(), and operator<<().
TPACKETID LLCircuitData::mPacketsInID [protected] |
Definition at line 209 of file llcircuit.h.
Referenced by checkPacketInID(), setAlive(), and setPacketInID().
S32 LLCircuitData::mPacketsLost [protected] |
Definition at line 264 of file llcircuit.h.
Referenced by getPacketsLost(), operator<<(), and updateWatchDogTimers().
U32 LLCircuitData::mPacketsOut [protected] |
Definition at line 262 of file llcircuit.h.
Referenced by getPacketsOut(), nextPacketOutID(), and operator<<().
TPACKETID LLCircuitData::mPacketsOutID [protected] |
Definition at line 208 of file llcircuit.h.
Referenced by getPacketOutID(), nextPacketOutID(), and setAlive().
F32 LLCircuitData::mPeakBPSIn [protected] |
F32 LLCircuitData::mPeakBPSOut [protected] |
F64 LLCircuitData::mPeriodTime [protected] |
U32 LLCircuitData::mPingDelay [protected] |
Definition at line 236 of file llcircuit.h.
Referenced by getPingDelay(), operator<<(), and setPingDelay().
F32 LLCircuitData::mPingDelayAveraged [protected] |
Definition at line 237 of file llcircuit.h.
Referenced by getPingDelayAveraged(), operator<<(), and setPingDelay().
S32 LLCircuitData::mPingsInTransit [protected] |
Definition at line 231 of file llcircuit.h.
Referenced by getPingInTransitTime(), getPingsInTransit(), pingTimerStart(), pingTimerStop(), and setAlive().
F64 LLCircuitData::mPingTime [protected] |
Definition at line 226 of file llcircuit.h.
Referenced by getPingInTransitTime(), LLCircuitData(), pingTimerStart(), and pingTimerStop().
packet_time_map LLCircuitData::mPotentialLostPackets [protected] |
Definition at line 241 of file llcircuit.h.
Referenced by checkPacketInID(), and updateWatchDogTimers().
Definition at line 242 of file llcircuit.h.
Referenced by LLMessageSystem::checkMessages(), clearDuplicateList(), isDuplicateResend(), and setPacketInID().
LLUUID LLCircuitData::mRemoteID [protected] |
Definition at line 199 of file llcircuit.h.
Referenced by getRemoteID(), LLMessageSystem::getSenderID(), operator<<(), and setRemoteID().
LLUUID LLCircuitData::mRemoteSessionID [protected] |
Definition at line 200 of file llcircuit.h.
Referenced by getRemoteSessionID(), LLMessageSystem::getSenderSessionID(), and setRemoteSessionID().
LLThrottleGroup LLCircuitData::mThrottles [protected] |
Definition at line 202 of file llcircuit.h.
Referenced by getThrottleGroup(), resendUnackedPackets(), and LLCircuit::updateWatchDogTimers().
void(* LLCircuitData::mTimeoutCallback)(const LLHost &host, void *user_data) [protected] |
Referenced by checkCircuitTimeout(), LLCircuitData(), and setTimeoutCallback().
void* LLCircuitData::mTimeoutUserData [protected] |
Definition at line 216 of file llcircuit.h.
Referenced by checkCircuitTimeout(), LLCircuitData(), and setTimeoutCallback().
BOOL LLCircuitData::mTrusted [protected] |
S32 LLCircuitData::mUnackedPacketBytes [protected] |
Definition at line 252 of file llcircuit.h.
Referenced by ackReliablePacket(), addReliablePacket(), getUnackedPacketBytes(), resendUnackedPackets(), and ~LLCircuitData().
S32 LLCircuitData::mUnackedPacketCount [protected] |
Definition at line 251 of file llcircuit.h.
Referenced by ackReliablePacket(), addReliablePacket(), getUnackedPacketCount(), resendUnackedPackets(), and ~LLCircuitData().
reliable_map LLCircuitData::mUnackedPackets [protected] |
Definition at line 248 of file llcircuit.h.
Referenced by ackReliablePacket(), addReliablePacket(), resendUnackedPackets(), updateWatchDogTimers(), and ~LLCircuitData().
TPACKETID LLCircuitData::mWrapID [protected] |
Definition at line 204 of file llcircuit.h.
Referenced by checkPacketInID(), nextPacketOutID(), and setPacketInID().