Skip to content

Commit 53de8a4

Browse files
chore: release 1.7.0 merge to develop (#2750)
* chore: merge develop into release 1.7.0 (#2729) * fix: Wrong MTU calculations in UnityTransport (#2731) * chore: Tagging release 1.7.0 (#2736) --------- Co-authored-by: Simon Lemay <[email protected]>
1 parent 4eead95 commit 53de8a4

File tree

5 files changed

+29
-4
lines changed

5 files changed

+29
-4
lines changed

com.unity.netcode.gameobjects/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

77
Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com).
88

9-
## [Unreleased]
9+
## [1.7.0] - 2023-10-11
1010

1111
### Added
1212

com.unity.netcode.gameobjects/Runtime/Transports/UTP/BatchedSendQueue.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ public int FillWriterWithBytes(ref DataStreamWriter writer, int maxBytes = 0)
261261
return 0;
262262
}
263263

264-
var maxLength = maxBytes == 0 ? writer.Capacity : maxBytes;
264+
var maxLength = maxBytes == 0 ? writer.Capacity : Math.Min(maxBytes, writer.Capacity);
265265
var copyLength = Math.Min(maxLength, Length);
266266

267267
unsafe

com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -784,13 +784,21 @@ private void SendBatchedMessages(SendTarget sendTarget, BatchedSendQueue queue)
784784
{
785785
return;
786786
}
787+
788+
var mtu = 0;
789+
if (NetworkManager)
790+
{
791+
var ngoClientId = NetworkManager.ConnectionManager.TransportIdToClientId(sendTarget.ClientId);
792+
mtu = NetworkManager.GetPeerMTU(ngoClientId);
793+
}
794+
787795
new SendBatchedMessagesJob
788796
{
789797
Driver = m_Driver.ToConcurrent(),
790798
Target = sendTarget,
791799
Queue = queue,
792800
ReliablePipeline = m_ReliableSequencedPipeline,
793-
MTU = NetworkManager ? NetworkManager.GetPeerMTU(sendTarget.ClientId) + m_Driver.MaxHeaderSize(sendTarget.NetworkPipeline) : 0,
801+
MTU = mtu,
794802
}.Run();
795803
}
796804

com.unity.netcode.gameobjects/Tests/Editor/Transports/BatchedSendQueueTests.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,23 @@ public void BatchedSendQueue_FillWriterWithBytes_WriterCapacityEqualToLength()
293293
AssertIsTestMessage(data);
294294
}
295295

296+
[Test]
297+
public void BatchedSendQueue_FillWriterWithBytes_MaxBytesGreaterThanCapacity()
298+
{
299+
var dataLength = k_TestMessageSize + BatchedSendQueue.PerMessageOverhead;
300+
301+
using var q = new BatchedSendQueue(k_TestQueueCapacity);
302+
using var data = new NativeArray<byte>(dataLength, Allocator.Temp);
303+
304+
q.PushMessage(m_TestMessage);
305+
q.PushMessage(m_TestMessage);
306+
307+
var writer = new DataStreamWriter(data);
308+
Assert.AreEqual(dataLength, q.FillWriterWithBytes(ref writer, dataLength * 2));
309+
AssertIsTestMessage(data);
310+
Assert.False(writer.HasFailedWrites);
311+
}
312+
296313
[Test]
297314
public void BatchedSendQueue_Consume_LessThanLength()
298315
{

com.unity.netcode.gameobjects/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "com.unity.netcode.gameobjects",
33
"displayName": "Netcode for GameObjects",
44
"description": "Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.",
5-
"version": "1.6.0",
5+
"version": "1.7.0",
66
"unity": "2020.3",
77
"dependencies": {
88
"com.unity.nuget.mono-cecil": "1.10.1",

0 commit comments

Comments
 (0)