#include <lltemplatemessagereader.h>
Inheritance diagram for LLTemplateMessageReader:


| Public Types | |
| typedef std::map< U32, LLMessageTemplate * > | message_template_number_map_t | 
| Public Member Functions | |
| LLTemplateMessageReader (message_template_number_map_t &) | |
| virtual | ~LLTemplateMessageReader () | 
| virtual void | getBinaryData (const char *blockname, const char *varname, void *datap, S32 size, S32 blocknum=0, S32 max_size=S32_MAX) | 
| virtual void | getBOOL (const char *block, const char *var, BOOL &data, S32 blocknum=0) | 
| virtual void | getS8 (const char *block, const char *var, S8 &data, S32 blocknum=0) | 
| virtual void | getU8 (const char *block, const char *var, U8 &data, S32 blocknum=0) | 
| virtual void | getS16 (const char *block, const char *var, S16 &data, S32 blocknum=0) | 
| virtual void | getU16 (const char *block, const char *var, U16 &data, S32 blocknum=0) | 
| virtual void | getS32 (const char *block, const char *var, S32 &data, S32 blocknum=0) | 
| virtual void | getF32 (const char *block, const char *var, F32 &data, S32 blocknum=0) | 
| virtual void | getU32 (const char *block, const char *var, U32 &data, S32 blocknum=0) | 
| virtual void | getU64 (const char *block, const char *var, U64 &data, S32 blocknum=0) | 
| virtual void | getF64 (const char *block, const char *var, F64 &data, S32 blocknum=0) | 
| virtual void | getVector3 (const char *block, const char *var, LLVector3 &vec, S32 blocknum=0) | 
| virtual void | getVector4 (const char *block, const char *var, LLVector4 &vec, S32 blocknum=0) | 
| virtual void | getVector3d (const char *block, const char *var, LLVector3d &vec, S32 blocknum=0) | 
| virtual void | getQuat (const char *block, const char *var, LLQuaternion &q, S32 blocknum=0) | 
| virtual void | getUUID (const char *block, const char *var, LLUUID &uuid, S32 blocknum=0) | 
| virtual void | getIPAddr (const char *block, const char *var, U32 &ip, S32 blocknum=0) | 
| virtual void | getIPPort (const char *block, const char *var, U16 &port, S32 blocknum=0) | 
| virtual void | getString (const char *block, const char *var, S32 buffer_size, char *buffer, S32 blocknum=0) | 
| virtual S32 | getNumberOfBlocks (const char *blockname) | 
| virtual S32 | getSize (const char *blockname, const char *varname) | 
| virtual S32 | getSize (const char *blockname, S32 blocknum, const char *varname) | 
| virtual void | clearMessage () | 
| virtual const char * | getMessageName () const | 
| virtual S32 | getMessageSize () const | 
| virtual void | copyToBuilder (LLMessageBuilder &) const | 
| BOOL | validateMessage (const U8 *buffer, S32 buffer_size, const LLHost &sender) | 
| BOOL | readMessage (const U8 *buffer, const LLHost &sender) | 
| bool | isTrusted () const | 
| bool | isBanned (bool trusted_source) const | 
| Private Member Functions | |
| void | getData (const char *blockname, const char *varname, void *datap, S32 size=0, S32 blocknum=0, S32 max_size=S32_MAX) | 
| BOOL | decodeTemplate (const U8 *buffer, S32 buffer_size, LLMessageTemplate **msg_template) | 
| void | logRanOffEndOfPacket (const LLHost &host, const S32 where, const S32 wanted) | 
| BOOL | decodeData (const U8 *buffer, const LLHost &sender) | 
| Private Attributes | |
| S32 | mReceiveSize | 
| LLMessageTemplate * | mCurrentRMessageTemplate | 
| LLMsgData * | mCurrentRMessageData | 
| message_template_number_map_t & | mMessageNumbers | 
Definition at line 42 of file lltemplatemessagereader.h.
| typedef std::map<U32, LLMessageTemplate*> LLTemplateMessageReader::message_template_number_map_t | 
Definition at line 46 of file lltemplatemessagereader.h.
| LLTemplateMessageReader::LLTemplateMessageReader | ( | message_template_number_map_t & | ) | 
Definition at line 45 of file lltemplatemessagereader.cpp.
| LLTemplateMessageReader::~LLTemplateMessageReader | ( | ) |  [virtual] | 
Definition at line 55 of file lltemplatemessagereader.cpp.
References mCurrentRMessageData, and NULL.
| void LLTemplateMessageReader::clearMessage | ( | ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 62 of file lltemplatemessagereader.cpp.
References mCurrentRMessageData, mCurrentRMessageTemplate, mReceiveSize, and NULL.
| void LLTemplateMessageReader::copyToBuilder | ( | LLMessageBuilder & | ) | const  [virtual] | 
Implements LLMessageReader.
Definition at line 793 of file lltemplatemessagereader.cpp.
References LLMessageBuilder::copyFromMessageData(), mCurrentRMessageData, mCurrentRMessageTemplate, and NULL.
Definition at line 528 of file lltemplatemessagereader.cpp.
References LLMsgData::addBlock(), LLMsgBlkData::addData(), LLMsgBlkData::addVariable(), LLMessageTemplate::callHandlerFunc(), FALSE, LLFastTimer::FTM_PROCESS_MESSAGES, LLTimer::getElapsedTimeF32(), LLMessageReader::getTimeDecodes(), LLMessageReader::getTimeDecodesSpamThreshold(), LLMessageSystem::getTimingCallback(), LLMessageSystem::getTimingCallbackData(), gMessageSystem, htonmemcpy(), i, LL_PACKET_ID_SIZE, llassert, lldebugs, llendl, llerrs, llwarns, logRanOffEndOfPacket(), MBT_MULTIPLE, MBT_SINGLE, MBT_VARIABLE, mCurrentRMessageData, mCurrentRMessageTemplate, LLMessageTemplate::mDecodeTimeThisFrame, LLMessageTemplate::mFrequency, LLMessageTemplate::mMaxDecodeTimePerMsg, LLMsgData::mMemberBlocks, LLMessageTemplate::mMemberBlocks, LLMsgBlkData::mName, LLMessageTemplate::mName, mReceiveSize, LLMessageTemplate::mTotalDecoded, LLMessageTemplate::mTotalDecodeTime, MVT_U16, MVT_U32, MVT_U8, MVT_VARIABLE, NULL, PHL_OFFSET, LLTimer::reset(), S32, size, t, and TRUE.
Referenced by readMessage().
| BOOL LLTemplateMessageReader::decodeTemplate | ( | const U8 * | buffer, | |
| S32 | buffer_size, | |||
| LLMessageTemplate ** | msg_template | |||
| ) |  [private] | 
Definition at line 443 of file lltemplatemessagereader.cpp.
References LLMessageSystem::callExceptionFunc(), FALSE, get_ptr_in_map(), gMessageSystem, LL_MINIMUM_VALID_PACKET_SIZE, LL_PACKET_ID_SIZE, llendl, llwarns, mMessageNumbers, MX_UNREGISTERED_MESSAGE, S32, and TRUE.
Referenced by validateMessage().
| void LLTemplateMessageReader::getBinaryData | ( | const char * | blockname, | |
| const char * | varname, | |||
| void * | datap, | |||
| S32 | size, | |||
| S32 | blocknum = 0, | |||
| S32 | max_size = S32_MAX | |||
| ) |  [virtual] | 
All get* methods expect pointers to canonical strings.
Implements LLMessageReader.
Definition at line 271 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getBOOL | ( | const char * | block, | |
| const char * | var, | |||
| BOOL & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 291 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getData | ( | const char * | blockname, | |
| const char * | varname, | |||
| void * | datap, | |||
| S32 | size = 0, | |||
| S32 | blocknum = 0, | |||
| S32 | max_size = S32_MAX | |||
| ) |  [private] | 
Definition at line 70 of file lltemplatemessagereader.cpp.
References LLMsgVarData::getData(), LLMsgVarData::getName(), LLMsgVarData::getSize(), llendl, llerrs, llwarns, mCurrentRMessageData, LLMsgData::mMemberBlocks, LLMsgBlkData::mMemberVarData, LLMsgData::mName, mReceiveSize, and S32.
Referenced by getBinaryData(), getBOOL(), getF32(), getF64(), getIPAddr(), getIPPort(), getQuat(), getS16(), getS32(), getS8(), getString(), getU16(), getU32(), getU64(), getU8(), getUUID(), getVector3(), getVector3d(), and getVector4().
| void LLTemplateMessageReader::getF32 | ( | const char * | block, | |
| const char * | var, | |||
| F32 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| void LLTemplateMessageReader::getF64 | ( | const char * | block, | |
| const char * | var, | |||
| F64 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| void LLTemplateMessageReader::getIPAddr | ( | const char * | block, | |
| const char * | var, | |||
| U32 & | ip, | |||
| S32 | blocknum = 0 | |||
| ) |  [inline, virtual] | 
Implements LLMessageReader.
Definition at line 418 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getIPPort | ( | const char * | block, | |
| const char * | var, | |||
| U16 & | port, | |||
| S32 | blocknum = 0 | |||
| ) |  [inline, virtual] | 
Implements LLMessageReader.
Definition at line 423 of file lltemplatemessagereader.cpp.
References getData().
| const char * LLTemplateMessageReader::getMessageName | ( | ) | const  [virtual] | 
Returns pointer to canonical (prehashed) string.
Implements LLMessageReader.
Definition at line 770 of file lltemplatemessagereader.cpp.
References llendl, llwarns, mCurrentRMessageTemplate, and LLMessageTemplate::mName.
Referenced by LLMessageSystem::checkMessages(), and logRanOffEndOfPacket().
| S32 LLTemplateMessageReader::getMessageSize | ( | ) | const  [virtual] | 
Implements LLMessageReader.
Definition at line 437 of file lltemplatemessagereader.cpp.
References mReceiveSize.
| S32 LLTemplateMessageReader::getNumberOfBlocks | ( | const char * | blockname | ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 153 of file lltemplatemessagereader.cpp.
References llendl, llerrs, mCurrentRMessageData, LLMsgData::mMemberBlocks, and mReceiveSize.
| void LLTemplateMessageReader::getQuat | ( | const char * | block, | |
| const char * | var, | |||
| LLQuaternion & | q, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 395 of file lltemplatemessagereader.cpp.
References getData(), LLVector3::isFinite(), llendl, llwarns, LLQuaternion::loadIdentity(), LLVector3::mV, and LLQuaternion::unpackFromVector3().
| void LLTemplateMessageReader::getS16 | ( | const char * | block, | |
| const char * | var, | |||
| S16 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 299 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getS32 | ( | const char * | block, | |
| const char * | var, | |||
| S32 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| void LLTemplateMessageReader::getS8 | ( | const char * | block, | |
| const char * | var, | |||
| S8 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 279 of file lltemplatemessagereader.cpp.
References getData().
| S32 LLTemplateMessageReader::getSize | ( | const char * | blockname, | |
| S32 | blocknum, | |||
| const char * | varname | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 231 of file lltemplatemessagereader.cpp.
References LLMsgVarData::getName(), LLMsgVarData::getSize(), llendl, llerrs, mCurrentRMessageData, LLMsgData::mMemberBlocks, LLMsgBlkData::mMemberVarData, LLMsgData::mName, and mReceiveSize.
| S32 LLTemplateMessageReader::getSize | ( | const char * | blockname, | |
| const char * | varname | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 183 of file lltemplatemessagereader.cpp.
References LLMsgVarData::getName(), LLMsgVarData::getSize(), llendl, llerrs, MBT_SINGLE, mCurrentRMessageData, mCurrentRMessageTemplate, LLMessageTemplate::mMemberBlocks, LLMsgData::mMemberBlocks, LLMsgBlkData::mMemberVarData, LLMsgData::mName, and mReceiveSize.
| void LLTemplateMessageReader::getString | ( | const char * | block, | |
| const char * | var, | |||
| S32 | buffer_size, | |||
| char * | buffer, | |||
| S32 | blocknum = 0 | |||
| ) |  [inline, virtual] | 
Implements LLMessageReader.
Definition at line 429 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getU16 | ( | const char * | block, | |
| const char * | var, | |||
| U16 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 305 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getU32 | ( | const char * | block, | |
| const char * | var, | |||
| U32 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 317 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getU64 | ( | const char * | block, | |
| const char * | var, | |||
| U64 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 323 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getU8 | ( | const char * | block, | |
| const char * | var, | |||
| U8 & | data, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
Implements LLMessageReader.
Definition at line 285 of file lltemplatemessagereader.cpp.
References getData().
| void LLTemplateMessageReader::getUUID | ( | const char * | block, | |
| const char * | var, | |||
| LLUUID & | uuid, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| void LLTemplateMessageReader::getVector3 | ( | const char * | block, | |
| const char * | var, | |||
| LLVector3 & | vec, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| void LLTemplateMessageReader::getVector3d | ( | const char * | block, | |
| const char * | var, | |||
| LLVector3d & | vec, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| void LLTemplateMessageReader::getVector4 | ( | const char * | block, | |
| const char * | var, | |||
| LLVector4 & | vec, | |||
| S32 | blocknum = 0 | |||
| ) |  [virtual] | 
| bool LLTemplateMessageReader::isBanned | ( | bool | trusted_source | ) | const | 
Definition at line 787 of file lltemplatemessagereader.cpp.
References LLMessageTemplate::isBanned(), and mCurrentRMessageTemplate.
Referenced by LLMessageSystem::checkMessages().
| bool LLTemplateMessageReader::isTrusted | ( | ) | const | 
Definition at line 781 of file lltemplatemessagereader.cpp.
References LLMessageTemplate::getTrust(), mCurrentRMessageTemplate, and MT_TRUST.
Referenced by LLMessageSystem::checkMessages().
| void LLTemplateMessageReader::logRanOffEndOfPacket | ( | const LLHost & | host, | |
| const S32 | where, | |||
| const S32 | wanted | |||
| ) |  [private] | 
Definition at line 508 of file lltemplatemessagereader.cpp.
References LLMessageSystem::callExceptionFunc(), getMessageName(), gMessageSystem, llendl, llinfos, llwarns, mCurrentRMessageTemplate, LLMessageTemplate::mName, mReceiveSize, LLMessageSystem::mVerboseLog, and MX_RAN_OFF_END_OF_PACKET.
Referenced by decodeData().
Definition at line 763 of file lltemplatemessagereader.cpp.
References decodeData().
Referenced by LLMessageSystem::checkMessages(), and tut::LLTemplateMessageBuilderTestData::setReader().
| BOOL LLTemplateMessageReader::validateMessage | ( | const U8 * | buffer, | |
| S32 | buffer_size, | |||
| const LLHost & | sender | |||
| ) | 
Definition at line 747 of file lltemplatemessagereader.cpp.
References decodeTemplate(), lldebugst, llendl, mCurrentRMessageTemplate, LLMessageTemplate::mName, LLMessageTemplate::mReceiveCount, and mReceiveSize.
Referenced by LLMessageSystem::checkMessages(), and tut::LLTemplateMessageBuilderTestData::setReader().
Definition at line 125 of file lltemplatemessagereader.h.
Referenced by clearMessage(), copyToBuilder(), decodeData(), getData(), getNumberOfBlocks(), getSize(), and ~LLTemplateMessageReader().
Definition at line 124 of file lltemplatemessagereader.h.
Referenced by clearMessage(), copyToBuilder(), decodeData(), getMessageName(), getSize(), isBanned(), isTrusted(), logRanOffEndOfPacket(), and validateMessage().
| S32 LLTemplateMessageReader::mReceiveSize  [private] | 
Definition at line 123 of file lltemplatemessagereader.h.
Referenced by clearMessage(), decodeData(), getData(), getMessageSize(), getNumberOfBlocks(), getSize(), logRanOffEndOfPacket(), and validateMessage().
 1.4.7
 1.4.7