remove some plenks
no logic changes
This commit is contained in:
@@ -30,10 +30,10 @@ namespace OpenRA.Network
|
||||
{
|
||||
int LocalClientId { get; }
|
||||
ConnectionState ConnectionState { get; }
|
||||
void Send( int frame, List<byte[]> orders );
|
||||
void SendImmediate( List<byte[]> orders );
|
||||
void SendSync( int frame, byte[] syncData );
|
||||
void Receive( Action<int, byte[]> packetFn );
|
||||
void Send(int frame, List<byte[]> orders);
|
||||
void SendImmediate(List<byte[]> orders);
|
||||
void SendSync(int frame, byte[] syncData);
|
||||
void Receive(Action<int, byte[]> packetFn);
|
||||
}
|
||||
|
||||
class EchoConnection : IConnection
|
||||
@@ -55,51 +55,51 @@ namespace OpenRA.Network
|
||||
get { return ConnectionState.PreConnecting; }
|
||||
}
|
||||
|
||||
public virtual void Send( int frame, List<byte[]> orders )
|
||||
public virtual void Send(int frame, List<byte[]> orders)
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
ms.Write( BitConverter.GetBytes( frame ) );
|
||||
foreach( var o in orders )
|
||||
ms.Write( o );
|
||||
Send( ms.ToArray() );
|
||||
ms.Write(BitConverter.GetBytes(frame));
|
||||
foreach (var o in orders)
|
||||
ms.Write(o);
|
||||
Send(ms.ToArray());
|
||||
}
|
||||
|
||||
public virtual void SendImmediate( List<byte[]> orders )
|
||||
public virtual void SendImmediate(List<byte[]> orders)
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
ms.Write( BitConverter.GetBytes( (int)0 ) );
|
||||
foreach( var o in orders )
|
||||
ms.Write( o );
|
||||
Send( ms.ToArray() );
|
||||
ms.Write(BitConverter.GetBytes((int)0));
|
||||
foreach (var o in orders)
|
||||
ms.Write(o);
|
||||
Send(ms.ToArray());
|
||||
}
|
||||
|
||||
public virtual void SendSync( int frame, byte[] syncData )
|
||||
public virtual void SendSync(int frame, byte[] syncData)
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
ms.Write( BitConverter.GetBytes( frame ) );
|
||||
ms.Write( syncData );
|
||||
Send( ms.ToArray() );
|
||||
ms.Write(BitConverter.GetBytes(frame));
|
||||
ms.Write(syncData);
|
||||
Send(ms.ToArray());
|
||||
}
|
||||
|
||||
protected virtual void Send( byte[] packet )
|
||||
protected virtual void Send(byte[] packet)
|
||||
{
|
||||
if( packet.Length == 0 )
|
||||
if (packet.Length == 0)
|
||||
throw new NotImplementedException();
|
||||
lock( this )
|
||||
receivedPackets.Add( new ReceivedPacket { FromClient = LocalClientId, Data = packet } );
|
||||
lock (this)
|
||||
receivedPackets.Add(new ReceivedPacket { FromClient = LocalClientId, Data = packet } );
|
||||
}
|
||||
|
||||
public virtual void Receive( Action<int, byte[]> packetFn )
|
||||
public virtual void Receive(Action<int, byte[]> packetFn)
|
||||
{
|
||||
List<ReceivedPacket> packets;
|
||||
lock( this )
|
||||
lock (this)
|
||||
{
|
||||
packets = receivedPackets;
|
||||
receivedPackets = new List<ReceivedPacket>();
|
||||
}
|
||||
|
||||
foreach( var p in packets )
|
||||
packetFn( p.FromClient, p.Data );
|
||||
foreach (var p in packets)
|
||||
packetFn(p.FromClient, p.Data);
|
||||
}
|
||||
|
||||
public virtual void Dispose() { }
|
||||
@@ -112,15 +112,15 @@ namespace OpenRA.Network
|
||||
ConnectionState connectionState = ConnectionState.Connecting;
|
||||
Thread t;
|
||||
|
||||
public NetworkConnection( string host, int port )
|
||||
public NetworkConnection(string host, int port)
|
||||
{
|
||||
t = new Thread( _ =>
|
||||
{
|
||||
try
|
||||
{
|
||||
socket = new TcpClient( host, port );
|
||||
socket = new TcpClient(host, port);
|
||||
socket.NoDelay = true;
|
||||
var reader = new BinaryReader( socket.GetStream() );
|
||||
var reader = new BinaryReader(socket.GetStream());
|
||||
var serverProtocol = reader.ReadInt32();
|
||||
|
||||
if (ProtocolVersion.Version != serverProtocol)
|
||||
@@ -131,22 +131,22 @@ namespace OpenRA.Network
|
||||
clientId = reader.ReadInt32();
|
||||
connectionState = ConnectionState.Connected;
|
||||
|
||||
for( ; ; )
|
||||
for (;;)
|
||||
{
|
||||
var len = reader.ReadInt32();
|
||||
var client = reader.ReadInt32();
|
||||
var buf = reader.ReadBytes( len );
|
||||
if( len == 0 )
|
||||
if (len == 0)
|
||||
throw new NotImplementedException();
|
||||
lock( this )
|
||||
receivedPackets.Add( new ReceivedPacket { FromClient = client, Data = buf } );
|
||||
lock (this)
|
||||
receivedPackets.Add(new ReceivedPacket { FromClient = client, Data = buf } );
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
finally
|
||||
{
|
||||
connectionState = ConnectionState.NotConnected;
|
||||
if( socket != null )
|
||||
if (socket != null)
|
||||
socket.Close();
|
||||
}
|
||||
}
|
||||
@@ -159,28 +159,28 @@ namespace OpenRA.Network
|
||||
|
||||
List<byte[]> queuedSyncPackets = new List<byte[]>();
|
||||
|
||||
public override void SendSync( int frame, byte[] syncData )
|
||||
public override void SendSync(int frame, byte[] syncData)
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
ms.Write( BitConverter.GetBytes( frame ) );
|
||||
ms.Write( syncData );
|
||||
queuedSyncPackets.Add( ms.ToArray() );
|
||||
ms.Write(BitConverter.GetBytes(frame));
|
||||
ms.Write(syncData);
|
||||
queuedSyncPackets.Add(ms.ToArray());
|
||||
}
|
||||
|
||||
protected override void Send( byte[] packet )
|
||||
protected override void Send(byte[] packet)
|
||||
{
|
||||
base.Send( packet );
|
||||
base.Send(packet);
|
||||
|
||||
try
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
ms.Write(BitConverter.GetBytes((int)packet.Length));
|
||||
ms.Write(packet);
|
||||
foreach( var q in queuedSyncPackets )
|
||||
foreach (var q in queuedSyncPackets)
|
||||
{
|
||||
ms.Write( BitConverter.GetBytes( (int)q.Length ) );
|
||||
ms.Write( q );
|
||||
base.Send( q );
|
||||
ms.Write(BitConverter.GetBytes((int)q.Length));
|
||||
ms.Write(q);
|
||||
base.Send(q);
|
||||
}
|
||||
queuedSyncPackets.Clear();
|
||||
ms.WriteTo(socket.GetStream());
|
||||
@@ -192,16 +192,16 @@ namespace OpenRA.Network
|
||||
|
||||
bool disposed = false;
|
||||
|
||||
public override void Dispose ()
|
||||
public override void Dispose()
|
||||
{
|
||||
if (disposed) return;
|
||||
disposed = true;
|
||||
GC.SuppressFinalize( this );
|
||||
GC.SuppressFinalize(this);
|
||||
|
||||
t.Abort();
|
||||
if (socket != null)
|
||||
socket.Client.Close();
|
||||
using( new PerfSample( "Thread.Join" ))
|
||||
using (new PerfSample("Thread.Join"))
|
||||
{
|
||||
if (!t.Join(1000))
|
||||
return;
|
||||
|
||||
@@ -168,16 +168,16 @@ namespace OpenRA
|
||||
return a.ActorID;
|
||||
}
|
||||
|
||||
static bool TryGetActorFromUInt(World world, uint aID, out Actor ret )
|
||||
static bool TryGetActorFromUInt(World world, uint aID, out Actor ret)
|
||||
{
|
||||
if( aID == 0xFFFFFFFF )
|
||||
if (aID == 0xFFFFFFFF)
|
||||
{
|
||||
ret = null;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach( var a in world.Actors.Where( x => x.ActorID == aID ) )
|
||||
foreach (var a in world.Actors.Where(x => x.ActorID == aID))
|
||||
{
|
||||
ret = a;
|
||||
return true;
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace OpenRA.Server
|
||||
t.ServerStarted(this);
|
||||
|
||||
Log.Write("server", "Initial mods: ");
|
||||
foreach( var m in lobbyInfo.GlobalSettings.Mods )
|
||||
foreach (var m in lobbyInfo.GlobalSettings.Mods)
|
||||
Log.Write("server","- {0}", m);
|
||||
|
||||
Log.Write("server", "Initial map: {0}",lobbyInfo.GlobalSettings.Map);
|
||||
@@ -118,31 +118,31 @@ namespace OpenRA.Server
|
||||
new Thread( _ =>
|
||||
{
|
||||
var timeout = ServerTraits.WithInterface<ITick>().Min(t => t.TickTimeout);
|
||||
for( ; ; )
|
||||
for (;;)
|
||||
{
|
||||
var checkRead = new List<Socket>();
|
||||
checkRead.Add( listener.Server );
|
||||
foreach( var c in conns ) checkRead.Add( c.socket );
|
||||
foreach( var c in preConns ) checkRead.Add( c.socket );
|
||||
checkRead.Add(listener.Server);
|
||||
foreach (var c in conns) checkRead.Add(c.socket);
|
||||
foreach (var c in preConns) checkRead.Add(c.socket);
|
||||
|
||||
Socket.Select( checkRead, null, null, timeout );
|
||||
Socket.Select(checkRead, null, null, timeout);
|
||||
if (State == ServerState.ShuttingDown)
|
||||
{
|
||||
EndGame();
|
||||
break;
|
||||
}
|
||||
|
||||
foreach( var s in checkRead )
|
||||
if( s == listener.Server ) AcceptConnection();
|
||||
foreach (var s in checkRead)
|
||||
if (s == listener.Server) AcceptConnection();
|
||||
else if (preConns.Count > 0)
|
||||
{
|
||||
var p = preConns.SingleOrDefault( c => c.socket == s );
|
||||
if (p != null) p.ReadData( this );
|
||||
var p = preConns.SingleOrDefault(c => c.socket == s);
|
||||
if (p != null) p.ReadData(this);
|
||||
}
|
||||
else if (conns.Count > 0)
|
||||
{
|
||||
var conn = conns.SingleOrDefault( c => c.socket == s );
|
||||
if (conn != null) conn.ReadData( this );
|
||||
var conn = conns.SingleOrDefault(c => c.socket == s);
|
||||
if (conn != null) conn.ReadData(this);
|
||||
}
|
||||
|
||||
foreach (var t in ServerTraits.WithInterface<ITick>())
|
||||
@@ -151,8 +151,7 @@ namespace OpenRA.Server
|
||||
if (State == ServerState.ShuttingDown)
|
||||
{
|
||||
EndGame();
|
||||
if (Settings.AllowPortForward)
|
||||
UPnP.RemovePortforward();
|
||||
if (Settings.AllowPortForward) UPnP.RemovePortforward();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -210,7 +209,7 @@ namespace OpenRA.Server
|
||||
var request = new HandshakeRequest()
|
||||
{
|
||||
Map = lobbyInfo.GlobalSettings.Map,
|
||||
Mods = lobbyInfo.GlobalSettings.Mods.Select(m => "{0}@{1}".F(m,Mod.AllMods[m].Version)).ToArray()
|
||||
Mods = lobbyInfo.GlobalSettings.Mods.Select(m => "{0}@{1}".F(m, Mod.AllMods[m].Version)).ToArray()
|
||||
};
|
||||
DispatchOrdersToClient(newConn, 0, 0, new ServerOrder("HandshakeRequest", request.Serialize()).Serialize());
|
||||
}
|
||||
@@ -376,11 +375,12 @@ namespace OpenRA.Server
|
||||
try
|
||||
{
|
||||
var ms = new MemoryStream();
|
||||
ms.Write( BitConverter.GetBytes( data.Length + 4 ) );
|
||||
ms.Write( BitConverter.GetBytes( client ) );
|
||||
ms.Write( BitConverter.GetBytes( frame ) );
|
||||
ms.Write( data );
|
||||
c.socket.Send( ms.ToArray() );
|
||||
ms.Write(BitConverter.GetBytes(data.Length + 4));
|
||||
ms.Write(BitConverter.GetBytes(client));
|
||||
ms.Write(BitConverter.GetBytes(frame));
|
||||
ms.Write(data);
|
||||
c.socket.Send(ms.ToArray());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
DropClient(c);
|
||||
@@ -561,9 +561,9 @@ namespace OpenRA.Server
|
||||
|
||||
Console.WriteLine("Game started");
|
||||
|
||||
foreach( var c in conns )
|
||||
foreach( var d in conns )
|
||||
DispatchOrdersToClient( c, d.PlayerIndex, 0x7FFFFFFF, new byte[] { 0xBF } );
|
||||
foreach (var c in conns)
|
||||
foreach (var d in conns)
|
||||
DispatchOrdersToClient(c, d.PlayerIndex, 0x7FFFFFFF, new byte[] { 0xBF });
|
||||
|
||||
// Drop any unvalidated clients
|
||||
foreach (var c in preConns.ToArray())
|
||||
|
||||
Reference in New Issue
Block a user