added auto-split of long private messages, and re-combination of partial messages on client side. Corrects the bug causing disconnection when sendign messages of side larger than the maximum packet size.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4598 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2011-09-09 19:37:38 +00:00
parent 5b3543d41a
commit b73fd06753
3 changed files with 80 additions and 3 deletions

View file

@ -104,8 +104,11 @@ int checkOutgoingMessages();
uint32_t getNewUniqueMsgId();
int sendMessage(RsMsgItem *item);
void checkSizeAndSendMessage(RsMsgItem *msg);
int incomingMsgs();
void processMsg(RsMsgItem *mi);
bool checkAndRebuildPartialMessage(RsMsgItem*) ;
void initRsMI(RsMsgItem *msg, MessageInfo &mi);
void initRsMIS(RsMsgItem *msg, MsgInfoSummary &mis);
@ -124,6 +127,8 @@ void initStandardTagTypes();
/* ones that haven't made it out yet! */
std::map<uint32_t, RsMsgItem *> msgOutgoing;
std::map<std::string, RsMsgItem *> _pendingPartialMessages ;
/* List of notifications to post via Toaster */
std::list<MsgInfoSummary> msgNotifications;