Added some TCP wrapper classes for testability

This commit is contained in:
2025-01-28 13:58:01 +01:00
parent 05759f8e12
commit 4ef7500c3b
7 changed files with 185 additions and 7 deletions

View File

@@ -3,19 +3,30 @@ using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Threading.Tasks;
using System.Transactions;
namespace AMWD.Protocols.Modbus.Tcp.Utils
{
/// <inheritdoc cref="TcpClient" />
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
internal class TcpClientWrapper(AddressFamily addressFamily) : IDisposable
internal class TcpClientWrapper : IDisposable
{
#region Fields
private readonly TcpClient _client = new(addressFamily);
private readonly TcpClient _client;
#endregion Fields
public TcpClientWrapper(AddressFamily addressFamily)
{
_client = new TcpClient(addressFamily);
}
public TcpClientWrapper(TcpClient client)
{
_client = client ?? throw new ArgumentNullException(nameof(client));
}
#region Properties
/// <inheritdoc cref="TcpClient.Connected" />