mirror of
https://github.com/Patoke/LCERenewed.git
synced 2026-08-11 16:06:54 +00:00
feat: init
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
#include "stdafx.h"
|
||||
|
||||
#include "SQRNetworkManager.h"
|
||||
|
||||
bool SQRNetworkManager::s_safeToRespondToGameBootInvite = false;
|
||||
|
||||
void SQRNetworkManager::SafeToRespondToGameBootInvite()
|
||||
{
|
||||
s_safeToRespondToGameBootInvite = true;
|
||||
}
|
||||
|
||||
int SQRNetworkManager::GetSendQueueSizeBytes()
|
||||
{
|
||||
int queueSize = 0;
|
||||
int playerCount = GetPlayerCount();
|
||||
for(int i = 0; i < playerCount; ++i)
|
||||
{
|
||||
SQRNetworkPlayer *player = GetPlayerByIndex( i );
|
||||
if( player != NULL )
|
||||
{
|
||||
queueSize += player->GetTotalSendQueueBytes();
|
||||
}
|
||||
}
|
||||
return queueSize;
|
||||
}
|
||||
|
||||
int SQRNetworkManager::GetSendQueueSizeMessages()
|
||||
{
|
||||
int queueSize = 0;
|
||||
int playerCount = GetPlayerCount();
|
||||
for(int i = 0; i < playerCount; ++i)
|
||||
{
|
||||
SQRNetworkPlayer *player = GetPlayerByIndex( i );
|
||||
if( player != NULL )
|
||||
{
|
||||
queueSize += player->GetTotalSendQueueMessages();
|
||||
}
|
||||
}
|
||||
return queueSize;
|
||||
}
|
||||
|
||||
int SQRNetworkManager::GetOutstandingAckCount(SQRNetworkPlayer *pSQRPlayer)
|
||||
{
|
||||
int ackCount = 0;
|
||||
int playerCount = GetPlayerCount();
|
||||
for(int i = 0; i < playerCount; ++i)
|
||||
{
|
||||
SQRNetworkPlayer *pSQRPlayer2 = GetPlayerByIndex( i );
|
||||
if( pSQRPlayer2 )
|
||||
{
|
||||
if( ( pSQRPlayer == pSQRPlayer2 ) || (pSQRPlayer->IsSameSystem(pSQRPlayer2) ) )
|
||||
{
|
||||
ackCount += pSQRPlayer2->m_acksOutstanding;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ackCount;
|
||||
}
|
||||
|
||||
void SQRNetworkManager::RequestWriteAck(int smallId)
|
||||
{
|
||||
EnterCriticalSection(&m_csAckQueue);
|
||||
m_queuedAckRequests.push(smallId);
|
||||
LeaveCriticalSection(&m_csAckQueue);
|
||||
}
|
||||
|
||||
void SQRNetworkManager::TickWriteAcks()
|
||||
{
|
||||
EnterCriticalSection(&m_csAckQueue);
|
||||
while(m_queuedAckRequests.size() > 0)
|
||||
{
|
||||
int smallId = m_queuedAckRequests.front();
|
||||
m_queuedAckRequests.pop();
|
||||
SQRNetworkPlayer *player = GetPlayerBySmallId(smallId);
|
||||
if( player )
|
||||
{
|
||||
LeaveCriticalSection(&m_csAckQueue);
|
||||
player->WriteAck();
|
||||
EnterCriticalSection(&m_csAckQueue);
|
||||
}
|
||||
}
|
||||
LeaveCriticalSection(&m_csAckQueue);
|
||||
}
|
||||
Reference in New Issue
Block a user