diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/llmessage/message.h | 103 |
1 files changed, 55 insertions, 48 deletions
diff --git a/linden/indra/llmessage/message.h b/linden/indra/llmessage/message.h index 6c834f7..d18bd09 100644 --- a/linden/indra/llmessage/message.h +++ b/linden/indra/llmessage/message.h | |||
@@ -39,6 +39,10 @@ | |||
39 | #include <netinet/in.h> | 39 | #include <netinet/in.h> |
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | #if LL_SOLARIS | ||
43 | #include <netinet/in.h> | ||
44 | #endif | ||
45 | |||
42 | #if LL_WINDOWS | 46 | #if LL_WINDOWS |
43 | #include "winsock2.h" // htons etc. | 47 | #include "winsock2.h" // htons etc. |
44 | #endif | 48 | #endif |
@@ -204,14 +208,14 @@ public: | |||
204 | class LLMessageSystem | 208 | class LLMessageSystem |
205 | { | 209 | { |
206 | private: | 210 | private: |
207 | U8 mSendBuffer[MAX_BUFFER_SIZE]; | 211 | U8 mSendBuffer[MAX_BUFFER_SIZE]; |
208 | S32 mSendSize; | 212 | S32 mSendSize; |
209 | 213 | ||
210 | public: | 214 | public: |
211 | LLPacketRing mPacketRing; | 215 | LLPacketRing mPacketRing; |
212 | LLReliablePacketParams mReliablePacketParams; | 216 | LLReliablePacketParams mReliablePacketParams; |
213 | 217 | ||
214 | //LLLinkedList<LLPacketAck> mAckList; | 218 | //LLLinkedList<LLPacketAck> mAckList; |
215 | 219 | ||
216 | // Set this flag to TRUE when you want *very* verbose logs. | 220 | // Set this flag to TRUE when you want *very* verbose logs. |
217 | BOOL mVerboseLog; | 221 | BOOL mVerboseLog; |
@@ -222,36 +226,35 @@ class LLMessageSystem | |||
222 | typedef std::map<U32, LLMessageTemplate*> message_template_number_map_t; | 226 | typedef std::map<U32, LLMessageTemplate*> message_template_number_map_t; |
223 | 227 | ||
224 | private: | 228 | private: |
225 | message_template_name_map_t mMessageTemplates; | 229 | message_template_name_map_t mMessageTemplates; |
226 | message_template_number_map_t mMessageNumbers; | 230 | message_template_number_map_t mMessageNumbers; |
227 | 231 | ||
228 | public: | 232 | public: |
229 | S32 mSystemVersionMajor; | 233 | S32 mSystemVersionMajor; |
230 | S32 mSystemVersionMinor; | 234 | S32 mSystemVersionMinor; |
231 | S32 mSystemVersionPatch; | 235 | S32 mSystemVersionPatch; |
232 | S32 mSystemVersionServer; | 236 | S32 mSystemVersionServer; |
233 | U32 mVersionFlags; | 237 | U32 mVersionFlags; |
234 | 238 | ||
239 | BOOL mbProtected; | ||
235 | 240 | ||
236 | BOOL mbProtected; | 241 | U32 mNumberHighFreqMessages; |
242 | U32 mNumberMediumFreqMessages; | ||
243 | U32 mNumberLowFreqMessages; | ||
244 | S32 mPort; | ||
245 | S32 mSocket; | ||
237 | 246 | ||
238 | U32 mNumberHighFreqMessages; | 247 | U32 mPacketsIn; // total packets in, including compressed and uncompressed |
239 | U32 mNumberMediumFreqMessages; | 248 | U32 mPacketsOut; // total packets out, including compressed and uncompressed |
240 | U32 mNumberLowFreqMessages; | ||
241 | S32 mPort; | ||
242 | S32 mSocket; | ||
243 | 249 | ||
244 | U32 mPacketsIn; // total packets in, including compressed and uncompressed | 250 | U64 mBytesIn; // total bytes in, including compressed and uncompressed |
245 | U32 mPacketsOut; // total packets out, including compressed and uncompressed | 251 | U64 mBytesOut; // total bytes out, including compressed and uncompressed |
246 | |||
247 | U64 mBytesIn; // total bytes in, including compressed and uncompressed | ||
248 | U64 mBytesOut; // total bytes out, including compressed and uncompressed | ||
249 | 252 | ||
250 | U32 mCompressedPacketsIn; // total compressed packets in | 253 | U32 mCompressedPacketsIn; // total compressed packets in |
251 | U32 mCompressedPacketsOut; // total compressed packets out | 254 | U32 mCompressedPacketsOut; // total compressed packets out |
252 | 255 | ||
253 | U32 mReliablePacketsIn; // total reliable packets in | 256 | U32 mReliablePacketsIn; // total reliable packets in |
254 | U32 mReliablePacketsOut; // total reliable packets out | 257 | U32 mReliablePacketsOut; // total reliable packets out |
255 | 258 | ||
256 | U32 mDroppedPackets; // total dropped packets in | 259 | U32 mDroppedPackets; // total dropped packets in |
257 | U32 mResentPackets; // total resent packets out | 260 | U32 mResentPackets; // total resent packets out |
@@ -259,26 +262,26 @@ public: | |||
259 | U32 mOffCircuitPackets; // total # of off-circuit packets rejected | 262 | U32 mOffCircuitPackets; // total # of off-circuit packets rejected |
260 | U32 mInvalidOnCircuitPackets; // total # of on-circuit but invalid packets rejected | 263 | U32 mInvalidOnCircuitPackets; // total # of on-circuit but invalid packets rejected |
261 | 264 | ||
262 | S64 mUncompressedBytesIn; // total uncompressed size of compressed packets in | 265 | S64 mUncompressedBytesIn; // total uncompressed size of compressed packets in |
263 | S64 mUncompressedBytesOut; // total uncompressed size of compressed packets out | 266 | S64 mUncompressedBytesOut; // total uncompressed size of compressed packets out |
264 | S64 mCompressedBytesIn; // total compressed size of compressed packets in | 267 | S64 mCompressedBytesIn; // total compressed size of compressed packets in |
265 | S64 mCompressedBytesOut; // total compressed size of compressed packets out | 268 | S64 mCompressedBytesOut; // total compressed size of compressed packets out |
266 | S64 mTotalBytesIn; // total size of all uncompressed packets in | 269 | S64 mTotalBytesIn; // total size of all uncompressed packets in |
267 | S64 mTotalBytesOut; // total size of all uncompressed packets out | 270 | S64 mTotalBytesOut; // total size of all uncompressed packets out |
268 | 271 | ||
269 | BOOL mSendReliable; // does the outgoing message require a pos ack? | 272 | BOOL mSendReliable; // does the outgoing message require a pos ack? |
270 | 273 | ||
271 | LLCircuit mCircuitInfo; | 274 | LLCircuit mCircuitInfo; |
272 | F64 mCircuitPrintTime; // used to print circuit debug info every couple minutes | 275 | F64 mCircuitPrintTime; // used to print circuit debug info every couple minutes |
273 | F32 mCircuitPrintFreq; // seconds | 276 | F32 mCircuitPrintFreq; // seconds |
274 | 277 | ||
275 | std::map<U64, U32> mIPPortToCircuitCode; | 278 | std::map<U64, U32> mIPPortToCircuitCode; |
276 | std::map<U32, U64> mCircuitCodeToIPPort; | 279 | std::map<U32, U64> mCircuitCodeToIPPort; |
277 | U32 mOurCircuitCode; | 280 | U32 mOurCircuitCode; |
278 | S32 mSendPacketFailureCount; | 281 | S32 mSendPacketFailureCount; |
279 | S32 mUnackedListDepth; | 282 | S32 mUnackedListDepth; |
280 | S32 mUnackedListSize; | 283 | S32 mUnackedListSize; |
281 | S32 mDSMaxListDepth; | 284 | S32 mDSMaxListDepth; |
282 | 285 | ||
283 | public: | 286 | public: |
284 | // Read file and build message templates | 287 | // Read file and build message templates |
@@ -693,14 +696,14 @@ private: | |||
693 | 696 | ||
694 | LLMessagePollInfo *mPollInfop; | 697 | LLMessagePollInfo *mPollInfop; |
695 | 698 | ||
696 | U8 mEncodedRecvBuffer[MAX_BUFFER_SIZE]; | 699 | U8 mEncodedRecvBuffer[MAX_BUFFER_SIZE]; |
697 | U8 mTrueReceiveBuffer[MAX_BUFFER_SIZE]; | 700 | U8 mTrueReceiveBuffer[MAX_BUFFER_SIZE]; |
698 | S32 mTrueReceiveSize; | 701 | S32 mTrueReceiveSize; |
699 | 702 | ||
700 | // Must be valid during decode | 703 | // Must be valid during decode |
701 | 704 | ||
702 | BOOL mbError; | 705 | BOOL mbError; |
703 | S32 mErrorCode; | 706 | S32 mErrorCode; |
704 | 707 | ||
705 | F64 mResendDumpTime; // The last time we dumped resends | 708 | F64 mResendDumpTime; // The last time we dumped resends |
706 | 709 | ||
@@ -775,6 +778,10 @@ void null_message_callback(LLMessageSystem *msg, void **data); | |||
775 | // Inlines | 778 | // Inlines |
776 | // | 779 | // |
777 | 780 | ||
781 | #if !defined( LL_BIG_ENDIAN ) && !defined( LL_LITTLE_ENDIAN ) | ||
782 | #error Unknown endianness for htonmemcpy. Did you miss a common include? | ||
783 | #endif | ||
784 | |||
778 | static inline void *htonmemcpy(void *vs, const void *vct, EMsgVariableType type, size_t n) | 785 | static inline void *htonmemcpy(void *vs, const void *vct, EMsgVariableType type, size_t n) |
779 | { | 786 | { |
780 | char *s = (char *)vs; | 787 | char *s = (char *)vs; |