From 9776ca09db59a1e382045a072813a29cf07cadb3 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 2 Mar 2017 15:50:09 -0500 Subject: update socket interfaces --- MediaBrowser.Model/Net/ISocket.cs | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'MediaBrowser.Model/Net/ISocket.cs') 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 { + /// + /// Provides a common interface across platforms for UDP sockets used by this SSDP implementation. + /// 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 onAccept, Func isClosed); - } - - public class SocketCreateException : Exception - { - public SocketCreateException(string errorCode, Exception originalException) - : base(errorCode, originalException) - { - ErrorCode = errorCode; - } + /// + /// Waits for and returns the next UDP message sent to this socket (uni or multicast). + /// + /// + Task ReceiveAsync(CancellationToken cancellationToken); - public string ErrorCode { get; private set; } + /// + /// Sends a UDP message to a particular end point (uni or multicast). + /// + Task SendAsync(byte[] buffer, int bytes, IpEndPointInfo endPoint, CancellationToken cancellationToken); } -} +} \ No newline at end of file -- cgit v1.2.3