Skip to content

refactor: BufferManager now uses internal NetworkManager #746

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Apr 23, 2021
4 changes: 2 additions & 2 deletions com.unity.multiplayer.mlapi/Runtime/Core/NetworkManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,11 @@ private void Init(bool server)
SpawnManager = new NetworkSpawnManager(this);

CustomMessagingManager = new CustomMessagingManager(this);

BufferManager = new BufferManager(this);

SceneManager = new NetworkSceneManager(this);

BufferManager = new BufferManager();

if (MessageHandler == null)
{
// Only create this if it's not already set (like in test cases)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ internal struct BufferedMessage
internal float BufferTime;
}

private NetworkManager m_NetworkManager { get; }

internal BufferManager(NetworkManager networkManager)
{
m_NetworkManager = networkManager;
}

internal Queue<BufferedMessage> ConsumeBuffersForNetworkId(ulong networkId)
{
if (m_BufferQueues.ContainsKey(networkId))
Expand Down Expand Up @@ -77,7 +84,7 @@ internal void CleanBuffer()
#endif
foreach (var pair in m_BufferQueues)
{
while (pair.Value.Count > 0 && Time.realtimeSinceStartup - pair.Value.Peek().BufferTime >= NetworkManager.Singleton.NetworkConfig.MessageBufferTimeout)
while (pair.Value.Count > 0 && Time.realtimeSinceStartup - pair.Value.Peek().BufferTime >= m_NetworkManager.NetworkConfig.MessageBufferTimeout)
{
BufferedMessage message = pair.Value.Dequeue();

Expand Down