using System.Net.Sockets;

namespace eSuite.API.HealthChecks;

/// <summary>
/// Interface for for a factory class that creates Sockets
/// </summary>
public interface ISocketFactory
{
    /// <summary>
    /// Creates a socket using the parameters provided.
    /// </summary>
    /// <param name="endPointAddressFamily"></param>
    /// <param name="stream"></param>
    /// <param name="tcp"></param>
    /// <returns></returns>
    ISocketFacade CreateSocket(AddressFamily endPointAddressFamily, SocketType stream, ProtocolType tcp);
}