[Refactor] Use static lambdas in LINQ queries for improved performance

This commit is contained in:
2025-11-24 03:00:06 +00:00
parent 5fe7f574d6
commit 04c45e69fa
126 changed files with 971 additions and 929 deletions

View File

@@ -215,8 +215,9 @@ public partial class Device : IDisposable
if(string.IsNullOrEmpty(dev.Serial))
dev.Serial = dev.UsbSerialString;
else
foreach(char c in dev.Serial.Where(c => !char.IsControl(c)))
dev.Serial = $"{dev.Serial}{c:X2}";
{
foreach(char c in dev.Serial.Where(static c => !char.IsControl(c))) dev.Serial = $"{dev.Serial}{c:X2}";
}
}
if(dev.IsFireWire)
@@ -228,8 +229,9 @@ public partial class Device : IDisposable
if(string.IsNullOrEmpty(dev.Serial))
dev.Serial = $"{dev.FirewireGuid:X16}";
else
foreach(char c in dev.Serial.Where(c => !char.IsControl(c)))
dev.Serial = $"{dev.Serial}{c:X2}";
{
foreach(char c in dev.Serial.Where(static c => !char.IsControl(c))) dev.Serial = $"{dev.Serial}{c:X2}";
}
}
// Some optical drives are not getting the correct serial, and IDENTIFY PACKET DEVICE is blocked without

View File

@@ -72,7 +72,8 @@ public class Remote : IDisposable
{
IPHostEntry ipHostEntry = Dns.GetHostEntry(_host);
ipAddress = ipHostEntry.AddressList.FirstOrDefault(a => a.AddressFamily == AddressFamily.InterNetwork);
ipAddress =
ipHostEntry.AddressList.FirstOrDefault(static a => a.AddressFamily == AddressFamily.InterNetwork);
}
if(ipAddress is null)
@@ -89,7 +90,7 @@ public class Remote : IDisposable
AaruLogging.WriteLine(Localization.Connected_to_0, uri.Host);
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
int len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -238,7 +239,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -331,7 +332,7 @@ public class Remote : IDisposable
return [];
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -451,7 +452,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -525,8 +526,8 @@ public class Remote : IDisposable
public int SendScsiCommand(Span<byte> cdb, ref byte[] buffer, Span<byte> senseBuffer, uint timeout,
ScsiDirection direction, out double duration, out bool sense)
{
duration = 0;
sense = true;
duration = 0;
sense = true;
var cmdPkt = new AaruPacketCmdScsi
{
@@ -548,7 +549,7 @@ public class Remote : IDisposable
cmdPkt.hdr.len = (uint)(Marshal.SizeOf<AaruPacketCmdScsi>() + cmdPkt.cdb_len + cmdPkt.buf_len);
byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt);
byte[] buf = new byte[cmdPkt.hdr.len];
var buf = new byte[cmdPkt.hdr.len];
Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf<AaruPacketCmdScsi>());
@@ -570,7 +571,7 @@ public class Remote : IDisposable
return -1;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -661,7 +662,7 @@ public class Remote : IDisposable
cmdPkt.hdr.len = (uint)(Marshal.SizeOf<AaruPacketCmdAtaChs>() + cmdPkt.buf_len);
byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt);
byte[] buf = new byte[cmdPkt.hdr.len];
var buf = new byte[cmdPkt.hdr.len];
Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf<AaruPacketCmdAtaChs>());
@@ -676,7 +677,7 @@ public class Remote : IDisposable
return -1;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -767,7 +768,7 @@ public class Remote : IDisposable
cmdPkt.hdr.len = (uint)(Marshal.SizeOf<AaruPacketCmdAtaLba28>() + cmdPkt.buf_len);
byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt);
byte[] buf = new byte[cmdPkt.hdr.len];
var buf = new byte[cmdPkt.hdr.len];
Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf<AaruPacketCmdAtaLba28>());
@@ -782,7 +783,7 @@ public class Remote : IDisposable
return -1;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -873,7 +874,7 @@ public class Remote : IDisposable
cmdPkt.hdr.len = (uint)(Marshal.SizeOf<AaruPacketCmdAtaLba48>() + cmdPkt.buf_len);
byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt);
byte[] buf = new byte[cmdPkt.hdr.len];
var buf = new byte[cmdPkt.hdr.len];
Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf<AaruPacketCmdAtaLba48>());
@@ -888,7 +889,7 @@ public class Remote : IDisposable
return -1;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -985,7 +986,7 @@ public class Remote : IDisposable
cmdPkt.hdr.len = (uint)(Marshal.SizeOf<AaruPacketCmdSdhci>() + cmdPkt.command.buf_len);
byte[] pktBuf = Marshal.StructureToByteArrayLittleEndian(cmdPkt);
byte[] buf = new byte[cmdPkt.hdr.len];
var buf = new byte[cmdPkt.hdr.len];
Array.Copy(pktBuf, 0, buf, 0, Marshal.SizeOf<AaruPacketCmdSdhci>());
@@ -1000,7 +1001,7 @@ public class Remote : IDisposable
return -1;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1081,7 +1082,7 @@ public class Remote : IDisposable
return DeviceType.Unknown;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1159,7 +1160,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1284,7 +1285,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1375,7 +1376,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1455,7 +1456,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1509,7 +1510,7 @@ public class Remote : IDisposable
/// <returns>Retrieved number of bytes</returns>
static int Receive(Socket socket, byte[] buffer, int size, SocketFlags socketFlags)
{
int offset = 0;
var offset = 0;
while(size > 0)
{
@@ -1572,7 +1573,8 @@ public class Remote : IDisposable
long packetSize = Marshal.SizeOf<AaruPacketMultiCmdSdhci>() +
Marshal.SizeOf<AaruCmdSdhci>() * commands.LongLength;
packetSize = commands.Aggregate(packetSize, (current, command) => current + (command.buffer?.Length ?? 0));
packetSize =
commands.Aggregate(packetSize, static (current, command) => current + (command.buffer?.Length ?? 0));
var packet = new AaruPacketMultiCmdSdhci
{
@@ -1587,7 +1589,7 @@ public class Remote : IDisposable
}
};
byte[] buf = new byte[packetSize];
var buf = new byte[packetSize];
byte[] tmp = Marshal.StructureToByteArrayLittleEndian(packet);
Array.Copy(tmp, 0, buf, 0, tmp.Length);
@@ -1613,8 +1615,8 @@ public class Remote : IDisposable
off += tmp.Length;
}
foreach(Devices.Device.MmcSingleCommand command in
commands.Where(command => (command.buffer?.Length ?? 0) != 0))
foreach(Devices.Device.MmcSingleCommand command in commands.Where(static command =>
(command.buffer?.Length ?? 0) != 0))
{
Array.Copy(command.buffer, 0, buf, off, command.buffer.Length);
@@ -1630,7 +1632,7 @@ public class Remote : IDisposable
return -1;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1681,7 +1683,7 @@ public class Remote : IDisposable
off = Marshal.SizeOf<AaruPacketMultiCmdSdhci>();
int error = 0;
var error = 0;
foreach(Devices.Device.MmcSingleCommand command in commands)
{
@@ -1723,7 +1725,7 @@ public class Remote : IDisposable
{
sense = false;
duration = 0;
int error = 0;
var error = 0;
foreach(Devices.Device.MmcSingleCommand command in commands)
{
@@ -1777,7 +1779,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);
@@ -1879,7 +1881,7 @@ public class Remote : IDisposable
return false;
}
byte[] hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
var hdrBuf = new byte[Marshal.SizeOf<AaruPacketHeader>()];
len = Receive(_socket, hdrBuf, hdrBuf.Length, SocketFlags.Peek);

View File

@@ -181,7 +181,7 @@ public static class ListDevices
StringHandlers.CToString(descriptorB, Encoding.ASCII, start: descriptor.SerialNumberOffset);
// fix any serial numbers that are returned as hex-strings
if(Array.TrueForAll(info.Serial.ToCharArray(), c => "0123456789abcdef".IndexOf(c) >= 0) &&
if(Array.TrueForAll(info.Serial.ToCharArray(), static c => "0123456789abcdef".IndexOf(c) >= 0) &&
info.Serial.Length == 40)
info.Serial = HexStringToString(info.Serial).Trim();
}