/// <summary>
/// <para>This function pumps the server causing incoming network data to be processed, and pending outgoing data to be sent.</para>
/// </summary>
public void Update()
{
if (this.m_ServerHostId != -1)
{
byte num4;
NetworkEventType dataEvent = NetworkEventType.DataEvent;
if (this.m_RelaySlotId != -1)
{
dataEvent = NetworkTransport.ReceiveRelayEventFromHost(this.m_ServerHostId, out num4);
if ((dataEvent != NetworkEventType.Nothing) && LogFilter.logDebug)
{
Debug.Log("NetGroup event:" + dataEvent);
}
if ((dataEvent == NetworkEventType.ConnectEvent) && LogFilter.logDebug)
{
Debug.Log("NetGroup server connected");
}
if ((dataEvent == NetworkEventType.DisconnectEvent) && LogFilter.logDebug)
{
Debug.Log("NetGroup server disconnected");
}
}
do
{
int num;
int num2;
int num3;
dataEvent = NetworkTransport.ReceiveFromHost(this.m_ServerHostId, out num, out num2, this.m_MsgBuffer, this.m_MsgBuffer.Length, out num3, out num4);
if ((dataEvent != NetworkEventType.Nothing) && LogFilter.logDev)
{
Debug.Log(string.Concat(new object[] { "Server event: host=", this.m_ServerHostId, " event=", dataEvent, " error=", num4 }));
}
switch (dataEvent)
{
case NetworkEventType.DataEvent:
this.HandleData(num, num2, num3, num4);
break;
case NetworkEventType.ConnectEvent:
this.HandleConnect(num, num4);
break;
case NetworkEventType.DisconnectEvent:
this.HandleDisconnect(num, num4);
break;
case NetworkEventType.Nothing:
break;
default:
if (LogFilter.logError)
{
Debug.LogError("Unknown network message type received: " + dataEvent);
}
break;
}
}while (dataEvent != NetworkEventType.Nothing);
this.UpdateConnections();
}
}