NetEntityEvent fixes:

- comparing event data equality with Object.Equals instead of == because == returns false for boxed value types
- fixed old unacked messages not being resent if there are newer unacked messages that have been resent less than 1.5 * RTT ago
This commit is contained in:
Regalis
2017-01-03 20:10:03 +02:00
parent 1fb15f5589
commit 1eea373117
4 changed files with 45 additions and 18 deletions

View File

@@ -10,8 +10,8 @@ namespace Barotrauma.Networking
{
abstract class NetEntityEventManager
{
const int MaxEventBufferLength = 1024;
const int MaxEventsPerWrite = 64;
public const int MaxEventBufferLength = 1024;
public const int MaxEventsPerWrite = 64;
//public UInt32 LastReceivedEntityEventID
//{
@@ -23,12 +23,6 @@ namespace Barotrauma.Networking
/// </summary>
protected void Write(NetOutgoingMessage msg, List<NetEntityEvent> eventsToSync, Client recipient = null)
{
//too many events for one packet
if (eventsToSync.Count > MaxEventsPerWrite)
{
eventsToSync.RemoveRange(MaxEventsPerWrite, eventsToSync.Count - MaxEventsPerWrite);
}
msg.Write(eventsToSync[0].ID);
msg.Write((byte)eventsToSync.Count);