remove some plenks

no logic changes
This commit is contained in:
Matthias Mailänder
2013-06-17 20:46:38 +02:00
parent 875ac468d3
commit 6b261534d8
3 changed files with 73 additions and 73 deletions

View File

@@ -30,10 +30,10 @@ namespace OpenRA.Network
{ {
int LocalClientId { get; } int LocalClientId { get; }
ConnectionState ConnectionState { get; } ConnectionState ConnectionState { get; }
void Send( int frame, List<byte[]> orders ); void Send(int frame, List<byte[]> orders);
void SendImmediate( List<byte[]> orders ); void SendImmediate(List<byte[]> orders);
void SendSync( int frame, byte[] syncData ); void SendSync(int frame, byte[] syncData);
void Receive( Action<int, byte[]> packetFn ); void Receive(Action<int, byte[]> packetFn);
} }
class EchoConnection : IConnection class EchoConnection : IConnection
@@ -55,51 +55,51 @@ namespace OpenRA.Network
get { return ConnectionState.PreConnecting; } 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(); var ms = new MemoryStream();
ms.Write( BitConverter.GetBytes( frame ) ); ms.Write(BitConverter.GetBytes(frame));
foreach( var o in orders ) foreach (var o in orders)
ms.Write( o ); ms.Write(o);
Send( ms.ToArray() ); Send(ms.ToArray());
} }
public virtual void SendImmediate( List<byte[]> orders ) public virtual void SendImmediate(List<byte[]> orders)
{ {
var ms = new MemoryStream(); var ms = new MemoryStream();
ms.Write( BitConverter.GetBytes( (int)0 ) ); ms.Write(BitConverter.GetBytes((int)0));
foreach( var o in orders ) foreach (var o in orders)
ms.Write( o ); ms.Write(o);
Send( ms.ToArray() ); Send(ms.ToArray());
} }
public virtual void SendSync( int frame, byte[] syncData ) public virtual void SendSync(int frame, byte[] syncData)
{ {
var ms = new MemoryStream(); var ms = new MemoryStream();
ms.Write( BitConverter.GetBytes( frame ) ); ms.Write(BitConverter.GetBytes(frame));
ms.Write( syncData ); ms.Write(syncData);
Send( ms.ToArray() ); 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(); throw new NotImplementedException();
lock( this ) lock (this)
receivedPackets.Add( new ReceivedPacket { FromClient = LocalClientId, Data = packet } ); 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; List<ReceivedPacket> packets;
lock( this ) lock (this)
{ {
packets = receivedPackets; packets = receivedPackets;
receivedPackets = new List<ReceivedPacket>(); receivedPackets = new List<ReceivedPacket>();
} }
foreach( var p in packets ) foreach (var p in packets)
packetFn( p.FromClient, p.Data ); packetFn(p.FromClient, p.Data);
} }
public virtual void Dispose() { } public virtual void Dispose() { }
@@ -112,15 +112,15 @@ namespace OpenRA.Network
ConnectionState connectionState = ConnectionState.Connecting; ConnectionState connectionState = ConnectionState.Connecting;
Thread t; Thread t;
public NetworkConnection( string host, int port ) public NetworkConnection(string host, int port)
{ {
t = new Thread( _ => t = new Thread( _ =>
{ {
try try
{ {
socket = new TcpClient( host, port ); socket = new TcpClient(host, port);
socket.NoDelay = true; socket.NoDelay = true;
var reader = new BinaryReader( socket.GetStream() ); var reader = new BinaryReader(socket.GetStream());
var serverProtocol = reader.ReadInt32(); var serverProtocol = reader.ReadInt32();
if (ProtocolVersion.Version != serverProtocol) if (ProtocolVersion.Version != serverProtocol)
@@ -131,22 +131,22 @@ namespace OpenRA.Network
clientId = reader.ReadInt32(); clientId = reader.ReadInt32();
connectionState = ConnectionState.Connected; connectionState = ConnectionState.Connected;
for( ; ; ) for (;;)
{ {
var len = reader.ReadInt32(); var len = reader.ReadInt32();
var client = reader.ReadInt32(); var client = reader.ReadInt32();
var buf = reader.ReadBytes( len ); var buf = reader.ReadBytes( len );
if( len == 0 ) if (len == 0)
throw new NotImplementedException(); throw new NotImplementedException();
lock( this ) lock (this)
receivedPackets.Add( new ReceivedPacket { FromClient = client, Data = buf } ); receivedPackets.Add(new ReceivedPacket { FromClient = client, Data = buf } );
} }
} }
catch { } catch { }
finally finally
{ {
connectionState = ConnectionState.NotConnected; connectionState = ConnectionState.NotConnected;
if( socket != null ) if (socket != null)
socket.Close(); socket.Close();
} }
} }
@@ -159,28 +159,28 @@ namespace OpenRA.Network
List<byte[]> queuedSyncPackets = new List<byte[]>(); 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(); var ms = new MemoryStream();
ms.Write( BitConverter.GetBytes( frame ) ); ms.Write(BitConverter.GetBytes(frame));
ms.Write( syncData ); ms.Write(syncData);
queuedSyncPackets.Add( ms.ToArray() ); queuedSyncPackets.Add(ms.ToArray());
} }
protected override void Send( byte[] packet ) protected override void Send(byte[] packet)
{ {
base.Send( packet ); base.Send(packet);
try try
{ {
var ms = new MemoryStream(); var ms = new MemoryStream();
ms.Write(BitConverter.GetBytes((int)packet.Length)); ms.Write(BitConverter.GetBytes((int)packet.Length));
ms.Write(packet); ms.Write(packet);
foreach( var q in queuedSyncPackets ) foreach (var q in queuedSyncPackets)
{ {
ms.Write( BitConverter.GetBytes( (int)q.Length ) ); ms.Write(BitConverter.GetBytes((int)q.Length));
ms.Write( q ); ms.Write(q);
base.Send( q ); base.Send(q);
} }
queuedSyncPackets.Clear(); queuedSyncPackets.Clear();
ms.WriteTo(socket.GetStream()); ms.WriteTo(socket.GetStream());
@@ -192,16 +192,16 @@ namespace OpenRA.Network
bool disposed = false; bool disposed = false;
public override void Dispose () public override void Dispose()
{ {
if (disposed) return; if (disposed) return;
disposed = true; disposed = true;
GC.SuppressFinalize( this ); GC.SuppressFinalize(this);
t.Abort(); t.Abort();
if (socket != null) if (socket != null)
socket.Client.Close(); socket.Client.Close();
using( new PerfSample( "Thread.Join" )) using (new PerfSample("Thread.Join"))
{ {
if (!t.Join(1000)) if (!t.Join(1000))
return; return;

View File

@@ -168,16 +168,16 @@ namespace OpenRA
return a.ActorID; 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; ret = null;
return true; return true;
} }
else 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; ret = a;
return true; return true;

View File

@@ -110,7 +110,7 @@ namespace OpenRA.Server
t.ServerStarted(this); t.ServerStarted(this);
Log.Write("server", "Initial mods: "); 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","- {0}", m);
Log.Write("server", "Initial map: {0}",lobbyInfo.GlobalSettings.Map); Log.Write("server", "Initial map: {0}",lobbyInfo.GlobalSettings.Map);
@@ -118,31 +118,31 @@ namespace OpenRA.Server
new Thread( _ => new Thread( _ =>
{ {
var timeout = ServerTraits.WithInterface<ITick>().Min(t => t.TickTimeout); var timeout = ServerTraits.WithInterface<ITick>().Min(t => t.TickTimeout);
for( ; ; ) for (;;)
{ {
var checkRead = new List<Socket>(); var checkRead = new List<Socket>();
checkRead.Add( listener.Server ); checkRead.Add(listener.Server);
foreach( var c in conns ) checkRead.Add( c.socket ); foreach (var c in conns) checkRead.Add(c.socket);
foreach( var c in preConns ) 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) if (State == ServerState.ShuttingDown)
{ {
EndGame(); EndGame();
break; break;
} }
foreach( var s in checkRead ) foreach (var s in checkRead)
if( s == listener.Server ) AcceptConnection(); if (s == listener.Server) AcceptConnection();
else if (preConns.Count > 0) else if (preConns.Count > 0)
{ {
var p = preConns.SingleOrDefault( c => c.socket == s ); var p = preConns.SingleOrDefault(c => c.socket == s);
if (p != null) p.ReadData( this ); if (p != null) p.ReadData(this);
} }
else if (conns.Count > 0) else if (conns.Count > 0)
{ {
var conn = conns.SingleOrDefault( c => c.socket == s ); var conn = conns.SingleOrDefault(c => c.socket == s);
if (conn != null) conn.ReadData( this ); if (conn != null) conn.ReadData(this);
} }
foreach (var t in ServerTraits.WithInterface<ITick>()) foreach (var t in ServerTraits.WithInterface<ITick>())
@@ -151,8 +151,7 @@ namespace OpenRA.Server
if (State == ServerState.ShuttingDown) if (State == ServerState.ShuttingDown)
{ {
EndGame(); EndGame();
if (Settings.AllowPortForward) if (Settings.AllowPortForward) UPnP.RemovePortforward();
UPnP.RemovePortforward();
break; break;
} }
} }
@@ -210,7 +209,7 @@ namespace OpenRA.Server
var request = new HandshakeRequest() var request = new HandshakeRequest()
{ {
Map = lobbyInfo.GlobalSettings.Map, 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()); DispatchOrdersToClient(newConn, 0, 0, new ServerOrder("HandshakeRequest", request.Serialize()).Serialize());
} }
@@ -376,11 +375,12 @@ namespace OpenRA.Server
try try
{ {
var ms = new MemoryStream(); var ms = new MemoryStream();
ms.Write( BitConverter.GetBytes( data.Length + 4 ) ); ms.Write(BitConverter.GetBytes(data.Length + 4));
ms.Write( BitConverter.GetBytes( client ) ); ms.Write(BitConverter.GetBytes(client));
ms.Write( BitConverter.GetBytes( frame ) ); ms.Write(BitConverter.GetBytes(frame));
ms.Write( data ); ms.Write(data);
c.socket.Send( ms.ToArray() ); c.socket.Send(ms.ToArray());
}
catch (Exception e) catch (Exception e)
{ {
DropClient(c); DropClient(c);
@@ -561,9 +561,9 @@ namespace OpenRA.Server
Console.WriteLine("Game started"); Console.WriteLine("Game started");
foreach( var c in conns ) foreach (var c in conns)
foreach( var d in conns ) foreach (var d in conns)
DispatchOrdersToClient( c, d.PlayerIndex, 0x7FFFFFFF, new byte[] { 0xBF } ); DispatchOrdersToClient(c, d.PlayerIndex, 0x7FFFFFFF, new byte[] { 0xBF });
// Drop any unvalidated clients // Drop any unvalidated clients
foreach (var c in preConns.ToArray()) foreach (var c in preConns.ToArray())