aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Net/ISocketFactory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Net/ISocketFactory.cs')
-rw-r--r--MediaBrowser.Model/Net/ISocketFactory.cs50
1 files changed, 27 insertions, 23 deletions
diff --git a/MediaBrowser.Model/Net/ISocketFactory.cs b/MediaBrowser.Model/Net/ISocketFactory.cs
index a2835b711..128034eb8 100644
--- a/MediaBrowser.Model/Net/ISocketFactory.cs
+++ b/MediaBrowser.Model/Net/ISocketFactory.cs
@@ -1,31 +1,35 @@
-#pragma warning disable CS1591
-
using System.Net;
+using System.Net.Sockets;
+
+namespace MediaBrowser.Model.Net;
-namespace MediaBrowser.Model.Net
+/// <summary>
+/// Implemented by components that can create specific socket configurations.
+/// </summary>
+public interface ISocketFactory
{
/// <summary>
- /// Implemented by components that can create a platform specific UDP socket implementation, and wrap it in the cross platform <see cref="ISocket"/> interface.
+ /// Creates a new unicast socket using the specified local port number.
/// </summary>
- public interface ISocketFactory
- {
- ISocket CreateUdpBroadcastSocket(int localPort);
+ /// <param name="localPort">The local port to bind to.</param>
+ /// <returns>A new unicast socket using the specified local port number.</returns>
+ Socket CreateUdpBroadcastSocket(int localPort);
- /// <summary>
- /// Creates a new unicast socket using the specified local port number.
- /// </summary>
- /// <param name="localIp">The local IP address to bind to.</param>
- /// <param name="localPort">The local port to bind to.</param>
- /// <returns>A new unicast socket using the specified local port number.</returns>
- ISocket CreateSsdpUdpSocket(IPAddress localIp, int localPort);
+ /// <summary>
+ /// Creates a new unicast socket using the specified local port number.
+ /// </summary>
+ /// <param name="bindInterface">The bind interface.</param>
+ /// <param name="localPort">The local port to bind to.</param>
+ /// <returns>A new unicast socket using the specified local port number.</returns>
+ Socket CreateSsdpUdpSocket(IPData bindInterface, int localPort);
- /// <summary>
- /// Creates a new multicast socket using the specified multicast IP address, multicast time to live and local port.
- /// </summary>
- /// <param name="ipAddress">The multicast IP address to bind to.</param>
- /// <param name="multicastTimeToLive">The multicast time to live value. Actually a maximum number of network hops for UDP packets.</param>
- /// <param name="localPort">The local port to bind to.</param>
- /// <returns>A <see cref="ISocket"/> implementation.</returns>
- ISocket CreateUdpMulticastSocket(IPAddress ipAddress, int multicastTimeToLive, int localPort);
- }
+ /// <summary>
+ /// Creates a new multicast socket using the specified multicast IP address, multicast time to live and local port.
+ /// </summary>
+ /// <param name="multicastAddress">The multicast IP address to bind to.</param>
+ /// <param name="bindInterface">The bind interface.</param>
+ /// <param name="multicastTimeToLive">The multicast time to live value. Actually a maximum number of network hops for UDP packets.</param>
+ /// <param name="localPort">The local port to bind to.</param>
+ /// <returns>A new multicast socket using the specfied bind interface, multicast address, multicast time to live and port.</returns>
+ Socket CreateUdpMulticastSocket(IPAddress multicastAddress, IPData bindInterface, int multicastTimeToLive, int localPort);
}