message.h File Reference

LLMessageSystem class header file. More...

#include <cstring>
#include <set>
#include "llerror.h"
#include "net.h"
#include "string_table.h"
#include "llcircuit.h"
#include "lltimer.h"
#include "llpacketring.h"
#include "llhost.h"
#include "llhttpclient.h"
#include "llhttpnode.h"
#include "llpacketack.h"
#include "message_prehash.h"
#include "llstl.h"
#include "llmsgvariabletype.h"

Include dependency graph for message.h:

Go to the source code of this file.

Classes

class  LLMessageStringTable
class  LLUseCircuitCodeResponder
class  LLMessageSystem
class  LLMessageSystem::LLMessageCountInfo

Typedefs

typedef void(* msg_exception_callback )(LLMessageSystem *, void *, EMessageException)

Enumerations

enum  EPacketHeaderLayout { PHL_FLAGS = 0, PHL_PACKET_ID = 1, PHL_OFFSET = 5, PHL_NAME = 6 }
enum  EMessageException { MX_UNREGISTERED_MESSAGE, MX_PACKET_TOO_SHORT, MX_RAN_OFF_END_OF_PACKET, MX_WROTE_PAST_BUFFER_SIZE }

Functions

BOOL start_messaging_system (const std::string &template_name, U32 port, S32 version_major, S32 version_minor, S32 version_patch, BOOL b_dump_prehash_file, const std::string &secret, const LLUseCircuitCodeResponder *responder=NULL)
void end_messaging_system ()
void null_message_callback (LLMessageSystem *msg, void **data)
static void * htonmemcpy (void *vs, const void *vct, EMsgVariableType type, size_t n)
void * ntohmemcpy (void *s, const void *ct, EMsgVariableType type, size_t n)

Variables

const U32 MESSAGE_MAX_STRINGS_LENGTH = 64
const U32 MESSAGE_NUMBER_OF_HASH_BUCKETS = 8192
const S32 MESSAGE_MAX_PER_FRAME = 400
const S32 MAX_MESSAGE_INTERNAL_NAME_SIZE = 255
const S32 MAX_BUFFER_SIZE = NET_BUFFER_SIZE
const S32 MAX_BLOCKS = 255
const U8 LL_ZERO_CODE_FLAG = 0x80
const U8 LL_RELIABLE_FLAG = 0x40
const U8 LL_RESENT_FLAG = 0x20
const U8 LL_ACK_FLAG = 0x10
const S32 LL_MINIMUM_VALID_PACKET_SIZE = LL_PACKET_ID_SIZE + 1
const S32 LL_DEFAULT_RELIABLE_RETRIES = 3
const F32 LL_MINIMUM_RELIABLE_TIMEOUT_SECONDS = 1.f
const F32 LL_MINIMUM_SEMIRELIABLE_TIMEOUT_SECONDS = 1.f
const F32 LL_PING_BASED_TIMEOUT_DUMMY = 0.0f
const F32 LL_SEMIRELIABLE_TIMEOUT_FACTOR = 5.f / 1000.f
const F32 LL_RELIABLE_TIMEOUT_FACTOR = 5.f / 1000.f
const F32 LL_FILE_XFER_TIMEOUT_FACTOR = 5.f / 1000.f
const F32 LL_LOST_TIMEOUT_FACTOR = 16.f / 1000.f
const F32 LL_MAX_LOST_TIMEOUT = 5.f
const S32 MAX_MESSAGE_COUNT_NUM = 1024
LLMessageSystemgMessageSystem


Detailed Description

LLMessageSystem class header file.

LicenseInfo
firstyear=2001&license=viewergpl

Copyright (c) 2001-2008, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file message.h.


Typedef Documentation

Definition at line 181 of file message.h.


Enumeration Type Documentation

Enumerator:
MX_UNREGISTERED_MESSAGE 
MX_PACKET_TOO_SHORT 
MX_RAN_OFF_END_OF_PACKET 
MX_WROTE_PAST_BUFFER_SIZE 

Definition at line 174 of file message.h.

Enumerator:
PHL_FLAGS 
PHL_PACKET_ID 
PHL_OFFSET 
PHL_NAME 

Definition at line 137 of file message.h.


Function Documentation

void end_messaging_system (  ) 

Definition at line 2672 of file message.cpp.

References LLTransferManager::cleanup(), gTransferManager, LL_INFOS, llendl, NULL, LLMessageSystem::stopLogging(), LLMessageSystem::summarizeLogs(), and LLTransferTargetVFile::updateQueue().

Referenced by LLAppViewer::cleanup().

Here is the call graph for this function:

Here is the caller graph for this function:

static void* htonmemcpy ( void *  vs,
const void *  vct,
EMsgVariableType  type,
size_t  n 
) [inline, static]

Definition at line 790 of file message.h.

References i, llendl, llerrs, MVT_BOOL, MVT_F32, MVT_F64, MVT_FIXED, MVT_IP_ADDR, MVT_IP_PORT, MVT_LLQuaternion, MVT_LLUUID, MVT_LLVector3, MVT_LLVector3d, MVT_LLVector4, MVT_S16, MVT_S16Array, MVT_S32, MVT_S64, MVT_S8, MVT_U16, MVT_U16Quat, MVT_U16Vec3, MVT_U32, MVT_U64, MVT_U8, MVT_VARIABLE, and S32.

Referenced by LLMsgVarData::addData(), buildBlock(), LLTemplateMessageReader::decodeData(), LLGestureList::deserialize(), LLGesture::deserialize(), ntohmemcpy(), LLDataPackerBinaryBuffer::packBinaryData(), LLDataPackerBinaryBuffer::packBinaryDataFixed(), LLDataPackerBinaryBuffer::packColor4(), LLDataPackerBinaryBuffer::packColor4U(), LLHUDEffectSpiral::packData(), LLHUDEffectPointAt::packData(), LLHUDEffectLookAt::packData(), LLHUDEffectBeam::packData(), LLDataPackerBinaryBuffer::packF32(), LLSelectMgr::packMultipleUpdate(), LLDataPackerBinaryBuffer::packS32(), LLDataPackerBinaryBuffer::packString(), LLTextureAnim::packTAMessage(), LLPrimitive::packTEField(), LLDataPackerBinaryBuffer::packU16(), LLDataPackerBinaryBuffer::packU32(), LLDataPackerBinaryBuffer::packUUID(), LLDataPackerBinaryBuffer::packVector2(), LLDataPackerBinaryBuffer::packVector3(), LLDataPackerBinaryBuffer::packVector4(), LLViewerObject::processUpdateMessage(), LLXfer::sendPacket(), LLGestureList::serialize(), LLGesture::serialize(), LLDataPackerBinaryBuffer::unpackBinaryData(), LLDataPackerBinaryBuffer::unpackBinaryDataFixed(), LLDataPackerBinaryBuffer::unpackColor4(), LLDataPackerBinaryBuffer::unpackColor4U(), LLHUDEffectSpiral::unpackData(), LLHUDEffectPointAt::unpackData(), LLHUDEffectLookAt::unpackData(), LLHUDEffectBeam::unpackData(), LLDataPackerBinaryBuffer::unpackF32(), LLDataPackerBinaryBuffer::unpackS32(), LLTextureAnim::unpackTAMessage(), LLPrimitive::unpackTEField(), LLDataPackerBinaryBuffer::unpackU16(), LLDataPackerBinaryBuffer::unpackU32(), LLDataPackerBinaryBuffer::unpackUUID(), LLDataPackerBinaryBuffer::unpackVector2(), LLDataPackerBinaryBuffer::unpackVector3(), and LLDataPackerBinaryBuffer::unpackVector4().

Here is the caller graph for this function:

void* ntohmemcpy ( void *  s,
const void *  ct,
EMsgVariableType  type,
size_t  n 
) [inline]

Definition at line 950 of file message.h.

References htonmemcpy().

Referenced by LLXferManager::processReceiveData().

Here is the call graph for this function:

Here is the caller graph for this function:

void null_message_callback ( LLMessageSystem msg,
void **  data 
)

Definition at line 3286 of file message.cpp.

Referenced by LLMessageSystem::establishBidirectionalTrust(), idle_startup(), and start_messaging_system().

Here is the caller graph for this function:

BOOL start_messaging_system ( const std::string &  template_name,
U32  port,
S32  version_major,
S32  version_minor,
S32  version_patch,
BOOL  b_dump_prehash_file,
const std::string &  secret,
const LLUseCircuitCodeResponder responder = NULL 
)


Variable Documentation

Definition at line 1820 of file message.cpp.

const U8 LL_ACK_FLAG = 0x10

Definition at line 133 of file message.h.

Referenced by LLMessageSystem::checkMessages(), and LLMessageSystem::sendMessage().

const F32 LL_FILE_XFER_TIMEOUT_FACTOR = 5.f / 1000.f

Definition at line 156 of file message.h.

const F32 LL_LOST_TIMEOUT_FACTOR = 16.f / 1000.f

Definition at line 157 of file message.h.

Referenced by LLCircuitData::updateWatchDogTimers().

const F32 LL_MAX_LOST_TIMEOUT = 5.f

Definition at line 158 of file message.h.

Referenced by LLCircuitData::updateWatchDogTimers().

Definition at line 149 of file message.h.

Referenced by LLMessageSystem::sendReliable().

const U8 LL_RELIABLE_FLAG = 0x40

Definition at line 131 of file message.h.

Referenced by LLMessageSystem::checkMessages(), and LLMessageSystem::sendMessage().

const F32 LL_RELIABLE_TIMEOUT_FACTOR = 5.f / 1000.f

const U8 LL_RESENT_FLAG = 0x20

const F32 LL_SEMIRELIABLE_TIMEOUT_FACTOR = 5.f / 1000.f

const U8 LL_ZERO_CODE_FLAG = 0x80

Definition at line 130 of file message.h.

Referenced by zero_code(), and LLMessageSystem::zeroCodeExpand().

const S32 MAX_BLOCKS = 255

const S32 MAX_BUFFER_SIZE = NET_BUFFER_SIZE

const S32 MAX_MESSAGE_COUNT_NUM = 1024

Definition at line 126 of file message.h.

Definition at line 69 of file message.h.

Referenced by LLAppViewer::idleNetwork().

Definition at line 66 of file message.h.

Referenced by LLMessageStringTable::getString().


Generated on Fri May 16 08:35:33 2008 for SecondLife by  doxygen 1.5.5