diff options
Diffstat (limited to 'indra/llmessage/llpacketack.h')
-rw-r--r-- | indra/llmessage/llpacketack.h | 122 |
1 files changed, 32 insertions, 90 deletions
diff --git a/indra/llmessage/llpacketack.h b/indra/llmessage/llpacketack.h index 4c22dc2d62..37675d2df4 100644 --- a/indra/llmessage/llpacketack.h +++ b/indra/llmessage/llpacketack.h @@ -9,37 +9,18 @@ #ifndef LL_LLPACKETACK_H #define LL_LLPACKETACK_H -#include <cstring> -#include <stdio.h> - -#include "llerror.h" -#include "lltimer.h" #include "llhost.h" -//class LLPacketAck -//{ -//public: -// LLHost mHost; -// TPACKETID mPacketID; -//public: -// LLPacketAck(const LLHost &host, TPACKETID packet_id) -// { -// mHost = host; -// mPacketID = packet_id; -// }; -// ~LLPacketAck(){}; -//}; - class LLReliablePacketParams { public: - LLHost mHost; - S32 mRetries; - BOOL mPingBasedRetry; - F32 mTimeout; - void (*mCallback)(void **,S32); - void **mCallbackData; - char *mMessageName; + LLHost mHost; + S32 mRetries; + BOOL mPingBasedRetry; + F32 mTimeout; + void (*mCallback)(void **,S32); + void** mCallbackData; + char* mMessageName; public: LLReliablePacketParams() @@ -60,9 +41,13 @@ public: mMessageName = NULL; }; - void set ( const LLHost &host, S32 retries, BOOL ping_based_retry, - F32 timeout, - void (*callback)(void **,S32), void **callback_data, char *name ) + void set( + const LLHost& host, + S32 retries, + BOOL ping_based_retry, + F32 timeout, + void (*callback)(void**,S32), + void** callback_data, char* name) { mHost = host; mRetries = retries; @@ -77,53 +62,11 @@ public: class LLReliablePacket { public: - LLReliablePacket(S32 socket, U8 *buf_ptr, S32 buf_len, LLReliablePacketParams *params) : - mBuffer(NULL), - mBufferLength(0) - { - if (params) - { - mHost = params->mHost; - mRetries = params->mRetries; - mPingBasedRetry = params->mPingBasedRetry; - mTimeout = params->mTimeout; - mCallback = params->mCallback; - mCallbackData = params->mCallbackData; - mMessageName = params->mMessageName; - } - else - { - mRetries = 0; - mPingBasedRetry = TRUE; - mTimeout = 0.f; - mCallback = NULL; - mCallbackData = NULL; - mMessageName = NULL; - } - - mExpirationTime = (F64)((S64)totalTime())/1000000.0 + mTimeout; - mPacketID = buf_ptr[1] + ((buf_ptr[0] & 0x0f ) * 256); - if (sizeof(TPACKETID) == 4) - { - mPacketID *= 256; - mPacketID += buf_ptr[2]; - mPacketID *= 256; - mPacketID += buf_ptr[3]; - } - - mSocket = socket; - if (mRetries) - { - mBuffer = new U8[buf_len]; - if (mBuffer != NULL) - { - memcpy(mBuffer,buf_ptr,buf_len); /*Flawfinder: ignore*/ - mBufferLength = buf_len; - } - - } - }; - + LLReliablePacket( + S32 socket, + U8* buf_ptr, + S32 buf_len, + LLReliablePacketParams* params); ~LLReliablePacket() { mCallback = NULL; @@ -133,22 +76,21 @@ public: friend class LLCircuitData; protected: - S32 mSocket; - LLHost mHost; - S32 mRetries; - BOOL mPingBasedRetry; - F32 mTimeout; - void (*mCallback)(void **,S32); - void **mCallbackData; - char *mMessageName; - - U8 *mBuffer; - S32 mBufferLength; + S32 mSocket; + LLHost mHost; + S32 mRetries; + BOOL mPingBasedRetry; + F32 mTimeout; + void (*mCallback)(void**,S32); + void** mCallbackData; + char* mMessageName; + + U8* mBuffer; + S32 mBufferLength; - TPACKETID mPacketID; + TPACKETID mPacketID; - F64 mExpirationTime; - + F64 mExpirationTime; }; #endif |