using System; using System.Net.Sockets; namespace AMWD.Protocols.Modbus.Tcp.Utils { /// [System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] internal class SocketWrapper : IDisposable { [Obsolete("Constructor only for mocking on UnitTests!", error: true)] public SocketWrapper() { } public SocketWrapper(Socket socket) { Client = socket; } public virtual Socket Client { get; } /// public virtual void Dispose() => Client.Dispose(); /// public virtual int IOControl(IOControlCode ioControlCode, byte[] optionInValue, byte[] optionOutValue) => Client.IOControl(ioControlCode, optionInValue, optionOutValue); #if NET6_0_OR_GREATER /// public virtual void SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, bool optionValue) => Client.SetSocketOption(optionLevel, optionName, optionValue); /// public virtual void SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, int optionValue) => Client.SetSocketOption(optionLevel, optionName, optionValue); #endif } }