Small .NET optimizations
This commit is contained in:
@@ -65,8 +65,12 @@ namespace AMWD.Protocols.Modbus.Tcp
|
||||
get => _readTimeout;
|
||||
set
|
||||
{
|
||||
#if NET8_0_OR_GREATER
|
||||
ArgumentOutOfRangeException.ThrowIfLessThan(value, TimeSpan.Zero);
|
||||
#else
|
||||
if (value < TimeSpan.Zero)
|
||||
throw new ArgumentOutOfRangeException(nameof(value));
|
||||
#endif
|
||||
|
||||
_readTimeout = value;
|
||||
|
||||
@@ -81,8 +85,12 @@ namespace AMWD.Protocols.Modbus.Tcp
|
||||
get => _writeTimeout;
|
||||
set
|
||||
{
|
||||
#if NET8_0_OR_GREATER
|
||||
ArgumentOutOfRangeException.ThrowIfLessThan(value, TimeSpan.Zero);
|
||||
#else
|
||||
if (value < TimeSpan.Zero)
|
||||
throw new ArgumentOutOfRangeException(nameof(value));
|
||||
#endif
|
||||
|
||||
_writeTimeout = value;
|
||||
|
||||
@@ -376,10 +384,9 @@ namespace AMWD.Protocols.Modbus.Tcp
|
||||
|
||||
try
|
||||
{
|
||||
return Dns.GetHostAddresses(hostname)
|
||||
return [.. Dns.GetHostAddresses(hostname)
|
||||
.Where(a => a.AddressFamily == AddressFamily.InterNetwork || a.AddressFamily == AddressFamily.InterNetworkV6)
|
||||
.OrderBy(a => a.AddressFamily) // prefer IPv4
|
||||
.ToArray();
|
||||
.OrderBy(a => a.AddressFamily)]; // prefer IPv4
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace AMWD.Protocols.Modbus.Tcp.Utils
|
||||
{
|
||||
internal class IPEndPointWrapper
|
||||
/// <inheritdoc cref="IPEndPoint" />
|
||||
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
|
||||
internal class IPEndPointWrapper(EndPoint endPoint)
|
||||
{
|
||||
private IPEndPoint _ipEndPoint;
|
||||
|
||||
public IPEndPointWrapper(EndPoint endPoint)
|
||||
{
|
||||
_ipEndPoint = (IPEndPoint)endPoint;
|
||||
}
|
||||
private readonly IPEndPoint _ipEndPoint = (IPEndPoint)endPoint;
|
||||
|
||||
#region Properties
|
||||
|
||||
|
||||
@@ -8,14 +8,9 @@ namespace AMWD.Protocols.Modbus.Tcp.Utils
|
||||
{
|
||||
/// <inheritdoc cref="NetworkStream" />
|
||||
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
|
||||
internal class NetworkStreamWrapper : IDisposable
|
||||
internal class NetworkStreamWrapper(NetworkStream stream) : IDisposable
|
||||
{
|
||||
private readonly NetworkStream _stream;
|
||||
|
||||
public NetworkStreamWrapper(NetworkStream stream)
|
||||
{
|
||||
_stream = stream;
|
||||
}
|
||||
private readonly NetworkStream _stream = stream;
|
||||
|
||||
/// <inheritdoc cref="NetworkStream.Dispose" />
|
||||
public virtual void Dispose()
|
||||
|
||||
@@ -3,14 +3,11 @@ using System.Net.Sockets;
|
||||
|
||||
namespace AMWD.Protocols.Modbus.Tcp.Utils
|
||||
{
|
||||
internal class SocketWrapper : IDisposable
|
||||
/// <inheritdoc cref="Socket" />
|
||||
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
|
||||
internal class SocketWrapper(Socket socket) : IDisposable
|
||||
{
|
||||
private Socket _socket;
|
||||
|
||||
public SocketWrapper(Socket socket)
|
||||
{
|
||||
_socket = socket;
|
||||
}
|
||||
private readonly Socket _socket = socket;
|
||||
|
||||
/// <inheritdoc cref="Socket.DualMode" />
|
||||
public virtual bool DualMode
|
||||
|
||||
@@ -6,22 +6,18 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace AMWD.Protocols.Modbus.Tcp.Utils
|
||||
{
|
||||
/// <inheritdoc cref="TcpListener" />
|
||||
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
|
||||
internal class TcpListenerWrapper : IDisposable
|
||||
internal class TcpListenerWrapper(IPAddress localaddr, int port) : IDisposable
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private TcpListener _tcpListener;
|
||||
private readonly TcpListener _tcpListener = new(localaddr, port);
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Constructor
|
||||
|
||||
public TcpListenerWrapper(IPAddress localaddr, int port)
|
||||
{
|
||||
_tcpListener = new TcpListener(localaddr, port);
|
||||
}
|
||||
|
||||
#endregion Constructor
|
||||
|
||||
#region Properties
|
||||
|
||||
Reference in New Issue
Block a user