aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Net/ISocket.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Net/ISocket.cs')
-rw-r--r--MediaBrowser.Model/Net/ISocket.cs38
1 files changed, 19 insertions, 19 deletions
diff --git a/MediaBrowser.Model/Net/ISocket.cs b/MediaBrowser.Model/Net/ISocket.cs
index aed35bce8..90070b128 100644
--- a/MediaBrowser.Model/Net/ISocket.cs
+++ b/MediaBrowser.Model/Net/ISocket.cs
@@ -1,28 +1,28 @@
using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
namespace MediaBrowser.Model.Net
{
+ /// <summary>
+ /// Provides a common interface across platforms for UDP sockets used by this SSDP implementation.
+ /// </summary>
public interface ISocket : IDisposable
{
- bool DualMode { get; }
- IpEndPointInfo LocalEndPoint { get; }
- IpEndPointInfo RemoteEndPoint { get; }
- void Close();
- void Shutdown(bool both);
- void Listen(int backlog);
- void Bind(IpEndPointInfo endpoint);
+ IpAddressInfo LocalIPAddress { get; }
- void StartAccept(Action<ISocket> onAccept, Func<bool> isClosed);
- }
-
- public class SocketCreateException : Exception
- {
- public SocketCreateException(string errorCode, Exception originalException)
- : base(errorCode, originalException)
- {
- ErrorCode = errorCode;
- }
+ /// <summary>
+ /// Waits for and returns the next UDP message sent to this socket (uni or multicast).
+ /// </summary>
+ /// <returns></returns>
+ Task<SocketReceiveResult> ReceiveAsync(CancellationToken cancellationToken);
- public string ErrorCode { get; private set; }
+ /// <summary>
+ /// Sends a UDP message to a particular end point (uni or multicast).
+ /// </summary>
+ Task SendAsync(byte[] buffer, int bytes, IpEndPointInfo endPoint, CancellationToken cancellationToken);
}
-}
+} \ No newline at end of file