Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if UNITY_2022_3_OR_NEWER && (RELAY_SDK_INSTALLED && !UNITY_WEBGL ) || (RELAY_SDK_INSTALLED && UNITY_WEBGL && UTP_TRANSPORT_2_0_ABOVE)
#if UNITY_2022_3_OR_NEWER && (RELAY_SDK_INSTALLED && !UNITY_WEBGL ) || (RELAY_SDK_INSTALLED && UNITY_WEBGL)
using System;
using System.Threading.Tasks;
using Unity.Netcode.Transports.UTP;
Expand Down Expand Up @@ -109,9 +109,7 @@ private static UnityTransport GetUnityTransport(NetworkManager networkManager, s
{
transport = networkManager.gameObject.AddComponent<UnityTransport>();
}
#if UTP_TRANSPORT_2_0_ABOVE
transport.UseWebSockets = connectionType.StartsWith("ws"); // Probably should be part of SetRelayServerData, but not possible at this point
#endif
networkManager.NetworkConfig.NetworkTransport = transport; // Force using UnityTransport
return transport;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,6 @@
"expression": "1.0",
"define": "RELAY_SDK_INSTALLED"
},
{
"name": "com.unity.transport",
"expression": "2.0",
"define": "UTP_TRANSPORT_2_0_ABOVE"
},
{
"name": "com.unity.services.multiplayer",
"expression": "0.2.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -808,11 +808,7 @@ internal unsafe int SendMessage<T>(ref T message, NetworkDelivery delivery, in N
internal unsafe int SendMessage<T>(ref T message, NetworkDelivery delivery, in NativeList<ulong> clientIds)
where T : INetworkMessage
{
#if UTP_TRANSPORT_2_0_ABOVE
return SendMessage(ref message, delivery, new PointerListWrapper<ulong>(clientIds.GetUnsafePtr(), clientIds.Length));
#else
return SendMessage(ref message, delivery, new PointerListWrapper<ulong>((ulong*)clientIds.GetUnsafePtr(), clientIds.Length));
#endif
}

internal unsafe void ProcessSendQueues()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -505,13 +505,8 @@ public static void WriteNativeListDelta<T>(FastBufferWriter writer, ref NativeLi
writer.WriteValueSafe(changes);
unsafe
{
#if UTP_TRANSPORT_2_0_ABOVE
var ptr = value.GetUnsafePtr();
var prevPtr = previousValue.GetUnsafePtr();
#else
var ptr = (T*)value.GetUnsafePtr();
var prevPtr = (T*)previousValue.GetUnsafePtr();
#endif
for (int i = 0; i < value.Length; ++i)
{
if (changes.IsSet(i))
Expand Down Expand Up @@ -554,11 +549,7 @@ public static void ReadNativeListDelta<T>(FastBufferReader reader, ref NativeLis

unsafe
{
#if UTP_TRANSPORT_2_0_ABOVE
var ptr = value.GetUnsafePtr();
#else
var ptr = (T*)value.GetUnsafePtr();
#endif
for (var i = 0; i < value.Length; ++i)
{
if (changes.IsSet(i))
Expand Down Expand Up @@ -601,11 +592,8 @@ public static unsafe void WriteNativeHashSetDelta<T>(FastBufferWriter writer, re
++removedCount;
}
}
#if UTP_TRANSPORT_2_0_ABOVE

if (addedCount + removedCount >= value.Count)
#else
if (addedCount + removedCount >= value.Count())
#endif
{
writer.WriteByteSafe(1);
writer.WriteValueSafe(value);
Expand Down Expand Up @@ -655,15 +643,10 @@ public static unsafe void WriteNativeHashMapDelta<TKey, TVal>(FastBufferWriter w
where TVal : unmanaged
{
// See WriteDictionary; this is the same algorithm, adjusted for the NativeHashMap API
#if UTP_TRANSPORT_2_0_ABOVE
var added = stackalloc KVPair<TKey, TVal>[value.Count];
var changed = stackalloc KVPair<TKey, TVal>[value.Count];
var removed = stackalloc KVPair<TKey, TVal>[previousValue.Count];
#else
var added = stackalloc KeyValue<TKey, TVal>[value.Count()];
var changed = stackalloc KeyValue<TKey, TVal>[value.Count()];
var removed = stackalloc KeyValue<TKey, TVal>[previousValue.Count()];
#endif

var addedCount = 0;
var changedCount = 0;
var removedCount = 0;
Expand Down Expand Up @@ -692,11 +675,7 @@ public static unsafe void WriteNativeHashMapDelta<TKey, TVal>(FastBufferWriter w
}
}

#if UTP_TRANSPORT_2_0_ABOVE
if (addedCount + removedCount + changedCount >= value.Count)
#else
if (addedCount + removedCount + changedCount >= value.Count())
#endif
{
writer.WriteByteSafe(1);
writer.WriteValueSafe(value);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,8 @@ internal static unsafe bool ValueEqualsList<TValueType>(ref NativeList<TValueTyp
return false;
}

#if UTP_TRANSPORT_2_0_ABOVE
var aptr = a.GetUnsafePtr();
var bptr = b.GetUnsafePtr();
#else
var aptr = (TValueType*)a.GetUnsafePtr();
var bptr = (TValueType*)b.GetUnsafePtr();
#endif

return UnsafeUtility.MemCmp(aptr, bptr, sizeof(TValueType) * a.Length) == 0;
}
Expand Down Expand Up @@ -216,13 +211,9 @@ internal static unsafe bool EqualityEqualsNativeList<TValueType>(ref NativeList<
return false;
}

#if UTP_TRANSPORT_2_0_ABOVE
var aptr = a.GetUnsafePtr();
var bptr = b.GetUnsafePtr();
#else
var aptr = (TValueType*)a.GetUnsafePtr();
var bptr = (TValueType*)b.GetUnsafePtr();
#endif

for (var i = 0; i < a.Length; ++i)
{
if (!EqualityEquals(ref aptr[i], ref bptr[i]))
Expand All @@ -246,11 +237,7 @@ internal static bool EqualityEqualsNativeHashSet<TValueType>(ref NativeHashSet<T
return true;
}

#if UTP_TRANSPORT_2_0_ABOVE
if (a.Count != b.Count)
#else
if (a.Count() != b.Count())
#endif
{
return false;
}
Expand Down Expand Up @@ -333,11 +320,7 @@ internal static bool GenericEqualsNativeHashMap(ref NativeHashMap<TKey, TVal> a,
return true;
}

#if UTP_TRANSPORT_2_0_ABOVE
if (a.Count != b.Count)
#else
if (a.Count() != b.Count())
#endif
{
return false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,19 +95,11 @@ public unsafe void NetworkSerialize<T>(BufferSerializer<T> serializer) where T :
{
if (serializer.IsReader)
{
#if UTP_TRANSPORT_2_0_ABOVE
serializer.GetFastBufferReader().ReadBytesSafe(ptr, length);
#else
serializer.GetFastBufferReader().ReadBytesSafe((byte*)ptr, length);
#endif
}
else
{
#if UTP_TRANSPORT_2_0_ABOVE
serializer.GetFastBufferWriter().WriteBytesSafe(ptr, length);
#else
serializer.GetFastBufferWriter().WriteBytesSafe((byte*)ptr, length);
#endif
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -772,11 +772,7 @@ public unsafe void WriteBytes(NativeArray<byte> value, int size = -1, int offset
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public unsafe void WriteBytes(NativeList<byte> value, int size = -1, int offset = 0)
{
#if UTP_TRANSPORT_2_0_ABOVE
byte* ptr = value.GetUnsafePtr();
#else
byte* ptr = (byte*)value.GetUnsafePtr();
#endif
WriteBytes(ptr, size == -1 ? value.Length : size, offset);
}

Expand Down Expand Up @@ -820,11 +816,7 @@ public unsafe void WriteBytesSafe(NativeArray<byte> value, int size = -1, int of
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public unsafe void WriteBytesSafe(NativeList<byte> value, int size = -1, int offset = 0)
{
#if UTP_TRANSPORT_2_0_ABOVE
byte* ptr = value.GetUnsafePtr();
#else
byte* ptr = (byte*)value.GetUnsafePtr();
#endif
WriteBytesSafe(ptr, size == -1 ? value.Length : size, offset);
}

Expand Down Expand Up @@ -1015,11 +1007,7 @@ internal unsafe void WriteUnmanagedSafe<T>(NativeArray<T> value) where T : unman
internal unsafe void WriteUnmanaged<T>(NativeList<T> value) where T : unmanaged
{
WriteLength(value.Length);
#if UTP_TRANSPORT_2_0_ABOVE
var ptr = value.GetUnsafePtr();
#else
var ptr = (T*)value.GetUnsafePtr();
#endif
{
byte* bytes = (byte*)ptr;
WriteBytes(bytes, sizeof(T) * value.Length);
Expand All @@ -1029,11 +1017,7 @@ internal unsafe void WriteUnmanaged<T>(NativeList<T> value) where T : unmanaged
internal unsafe void WriteUnmanagedSafe<T>(NativeList<T> value) where T : unmanaged
{
WriteLengthSafe(value.Length);
#if UTP_TRANSPORT_2_0_ABOVE
var ptr = value.GetUnsafePtr();
#else
var ptr = (T*)value.GetUnsafePtr();
#endif
{
byte* bytes = (byte*)ptr;
WriteBytesSafe(bytes, sizeof(T) * value.Length);
Expand Down Expand Up @@ -1231,11 +1215,7 @@ public void WriteValue<T>(NativeList<T> value, ForGeneric unused = default) wher
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal void WriteValueSafe<T>(NativeHashSet<T> value) where T : unmanaged, IEquatable<T>
{
#if UTP_TRANSPORT_2_0_ABOVE
WriteLengthSafe(value.Count);
#else
WriteLengthSafe(value.Count());
#endif
foreach (var item in value)
{
var iReffable = item;
Expand All @@ -1248,11 +1228,7 @@ internal void WriteValueSafe<TKey, TVal>(NativeHashMap<TKey, TVal> value)
where TKey : unmanaged, IEquatable<TKey>
where TVal : unmanaged
{
#if UTP_TRANSPORT_2_0_ABOVE
WriteLengthSafe(value.Count);
#else
WriteLengthSafe(value.Count());
#endif
foreach (var item in value)
{
(var key, var val) = (item.Key, item.Value);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
using System;
using Unity.Networking.Transport;
#if UTP_TRANSPORT_2_0_ABOVE
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
#endif
using Unity.Networking.Transport;

namespace Unity.Netcode.Transports.UTP
{
Expand All @@ -29,11 +27,7 @@ public BatchedReceiveQueue(DataStreamReader reader)
{
fixed (byte* dataPtr = m_Data)
{
#if UTP_TRANSPORT_2_0_ABOVE
reader.ReadBytesUnsafe(dataPtr, reader.Length);
#else
reader.ReadBytes(dataPtr, reader.Length);
#endif
}
}

Expand Down Expand Up @@ -70,11 +64,7 @@ public void PushReader(DataStreamReader reader)
{
fixed (byte* dataPtr = m_Data)
{
#if UTP_TRANSPORT_2_0_ABOVE
reader.ReadBytesUnsafe(dataPtr + m_Offset + m_Length, reader.Length);
#else
reader.ReadBytes(dataPtr + m_Offset + m_Length, reader.Length);
#endif
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,23 +94,15 @@ public void Dispose()
/// <summary>Write a raw buffer to a DataStreamWriter.</summary>
private unsafe void WriteBytes(ref DataStreamWriter writer, byte* data, int length)
{
#if UTP_TRANSPORT_2_0_ABOVE
writer.WriteBytesUnsafe(data, length);
#else
writer.WriteBytes(data, length);
#endif
}

/// <summary>Append data at the tail of the queue. No safety checks.</summary>
private void AppendDataAtTail(ArraySegment<byte> data)
{
unsafe
{
#if UTP_TRANSPORT_2_0_ABOVE
var writer = new DataStreamWriter(m_Data.GetUnsafePtr() + TailIndex, Capacity - TailIndex);
#else
var writer = new DataStreamWriter((byte*)m_Data.GetUnsafePtr() + TailIndex, Capacity - TailIndex);
#endif

writer.WriteInt(data.Count);

Expand Down Expand Up @@ -149,11 +141,7 @@ public bool PushMessage(ArraySegment<byte> message)
{
unsafe
{
#if UTP_TRANSPORT_2_0_ABOVE
UnsafeUtility.MemMove(m_Data.GetUnsafePtr(), m_Data.GetUnsafePtr() + HeadIndex, Length);
#else
UnsafeUtility.MemMove(m_Data.GetUnsafePtr(), (byte*)m_Data.GetUnsafePtr() + HeadIndex, Length);
#endif
}

TailIndex = Length;
Expand Down Expand Up @@ -239,11 +227,7 @@ public int FillWriterWithMessages(ref DataStreamWriter writer, int softMaxBytes
if (bytesToWrite > softMaxBytes && bytesToWrite <= writer.Capacity)
{
writer.WriteInt(messageLength);
#if UTP_TRANSPORT_2_0_ABOVE
WriteBytes(ref writer, m_Data.GetUnsafePtr() + reader.GetBytesRead(), messageLength);
#else
WriteBytes(ref writer, (byte*)m_Data.GetUnsafePtr() + reader.GetBytesRead(), messageLength);
#endif

return bytesToWrite;
}
Expand All @@ -260,11 +244,7 @@ public int FillWriterWithMessages(ref DataStreamWriter writer, int softMaxBytes
if (bytesWritten + bytesToWrite <= softMaxBytes)
{
writer.WriteInt(messageLength);
#if UTP_TRANSPORT_2_0_ABOVE
WriteBytes(ref writer, m_Data.GetUnsafePtr() + reader.GetBytesRead(), messageLength);
#else
WriteBytes(ref writer, (byte*)m_Data.GetUnsafePtr() + reader.GetBytesRead(), messageLength);
#endif

readerOffset += bytesToWrite;
bytesWritten += bytesToWrite;
Expand Down Expand Up @@ -308,11 +288,7 @@ public int FillWriterWithBytes(ref DataStreamWriter writer, int maxBytes = 0)

unsafe
{
#if UTP_TRANSPORT_2_0_ABOVE
WriteBytes(ref writer, m_Data.GetUnsafePtr() + HeadIndex, copyLength);
#else
WriteBytes(ref writer, (byte*)m_Data.GetUnsafePtr() + HeadIndex, copyLength);
#endif
}

return copyLength;
Expand Down
Loading