|
|
@ -127,6 +127,8 @@ namespace ssu |
|
|
|
else |
|
|
|
else |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (isLast) |
|
|
|
|
|
|
|
LogPrint ("Message ", msgID, " complete"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
@ -138,7 +140,12 @@ namespace ssu |
|
|
|
{ |
|
|
|
{ |
|
|
|
// missing fragment
|
|
|
|
// missing fragment
|
|
|
|
LogPrint ("Missing fragments from ", (int)incompleteMessage->nextFragmentNum, " to ", fragmentNum - 1, " of message ", msgID); |
|
|
|
LogPrint ("Missing fragments from ", (int)incompleteMessage->nextFragmentNum, " to ", fragmentNum - 1, " of message ", msgID); |
|
|
|
incompleteMessage->savedFragments.insert (new Fragment (fragmentNum, buf, fragmentSize, isLast)); |
|
|
|
auto savedFragment = new Fragment (fragmentNum, buf, fragmentSize, isLast); |
|
|
|
|
|
|
|
if (!incompleteMessage->savedFragments.insert (savedFragment).second) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
LogPrint ("Fragment ", (int)fragmentNum, " of message ", msgID, " already saved"); |
|
|
|
|
|
|
|
delete savedFragment; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
isLast = false; |
|
|
|
isLast = false; |
|
|
|
} |
|
|
|
} |
|
|
|