Remove redundant order copies.

This commit is contained in:
Paul Chote
2022-11-27 16:28:31 +00:00
committed by abcdefg30
parent c2208ce8fe
commit 06edc3dff1
2 changed files with 5 additions and 5 deletions

View File

@@ -57,12 +57,12 @@ namespace OpenRA.Network
void IConnection.Send(int frame, IEnumerable<Order> o)
{
orders.Enqueue((frame, new OrderPacket(o.ToArray())));
orders.Enqueue((frame, new OrderPacket(o)));
}
void IConnection.SendImmediate(IEnumerable<Order> o)
{
immediateOrders.Enqueue(new OrderPacket(o.ToArray()));
immediateOrders.Enqueue(new OrderPacket(o));
}
void IConnection.SendSync(int frame, int syncHash, ulong defeatState)
@@ -230,14 +230,14 @@ namespace OpenRA.Network
void IConnection.Send(int frame, IEnumerable<Order> orders)
{
var o = new OrderPacket(orders.ToArray());
var o = new OrderPacket(orders);
sentOrders.Enqueue((frame, o));
Send(o.Serialize(frame));
}
void IConnection.SendImmediate(IEnumerable<Order> orders)
{
var o = new OrderPacket(orders.ToArray());
var o = new OrderPacket(orders);
sentImmediateOrders.Enqueue(o);
Send(o.Serialize(0));
}

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Network
public class OrderPacket
{
readonly MemoryStream data;
public OrderPacket(Order[] orders)
public OrderPacket(IEnumerable<Order> orders)
{
// Orders may refer to actors that no longer exist by the time
// that the order is resolved. In order to ensure consistent