Fixing an issue with missing internal client on TCP (caused by AddressFamily.Unknown in default constructor)

This commit is contained in:
2024-05-28 21:04:09 +02:00
parent 02a724521a
commit d027b6939a
13 changed files with 156 additions and 90 deletions

View File

@@ -0,0 +1,26 @@
using System;
using System.Net.Sockets;
namespace AMWD.Protocols.Modbus.Tcp.Utils
{
[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
internal class TcpClientWrapperFactory
{
/// <summary>
/// Creates a new instance of <see cref="TcpClientWrapper"/>.
/// </summary>
/// <param name="addressFamily">The <see cref="AddressFamily"/> of the <see cref="TcpClient"/> to use.</param>
/// <param name="readTimeout">The read timeout.</param>
/// <param name="writeTimeout">The write timeout.</param>
/// <returns>A new <see cref="TcpClientWrapper"/> instance.</returns>
public virtual TcpClientWrapper Create(AddressFamily addressFamily, TimeSpan readTimeout, TimeSpan writeTimeout)
{
var client = new TcpClientWrapper(addressFamily)
{
ReceiveTimeout = (int)readTimeout.TotalMilliseconds,
SendTimeout = (int)writeTimeout.TotalMilliseconds
};
return client;
}
}
}