| 1498 | } |
| 1499 | int maxMessage = channel->maxMessageData(); |
| 1500 | int maxGuaranteedPayload = |
| 1501 | maxMessage > NetTransportReliableFragmentPayload ? NetTransportReliableFragmentPayload : maxMessage; |
| 1502 | if (!vim && bufferSize > maxMessage) |
| 1503 | { |
| 1504 | leaveSnd(); |
| 1505 | #ifdef NET_LOG_MERGE |
| 1506 | #ifdef NET_LOG_BRIEF |
| 1507 | NetLog("Ch(%u):tooLargeC(%d,%x)", channel->getChannelId(), bufferSize, (unsigned)flags); |
| 1508 | #else |
| 1509 | NetLog("Channel(%u): NetClient::SendMsg: trying to send too large non-guaranteed message (len=%3d, flags=%x)", |
| 1510 | channel->getChannelId(), bufferSize, (unsigned)flags); |
| 1511 | #endif |
| 1512 | #endif |
| 1513 | RptF("NetClient: trying to send too large non-guaranteed message (%d bytes long)", bufferSize); |
| 1514 | return false; |
| 1515 | } |
| 1516 | Ref<NetMessage> msg; |
| 1517 | if (vim) |
| 1518 | { // guaranteed message |
| 1519 | unsigned fl = MSG_VIM_FLAG | (urgent ? MSG_URGENT_FLAG : 0); |
| 1520 | if (bufferSize > maxGuaranteedPayload) |
| 1521 | { // split too big message: |
| 1522 | #ifdef NET_LOG_MERGE |
| 1523 | #ifdef NET_LOG_BRIEF |
| 1524 | NetLog("Ch(%u):sMerC(%d,%x)", channel->getChannelId(), bufferSize, (unsigned)flags); |
| 1525 | #else |
| 1526 | NetLog("Channel(%u): NetClient::SendMsg: splitting user message (len=%3d, flags=%x)", |
| 1527 | channel->getChannelId(), bufferSize, (unsigned)flags); |
| 1528 | #endif |
| 1529 | #endif |
| 1530 | int toSent = bufferSize; |
| 1531 | int packet; |
| 1532 | fl |= MSG_PART_FLAG; |
no test coverage detected