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 { IpAddressInfo LocalIPAddress { get; } /// /// Waits for and returns the next UDP message sent to this socket (uni or multicast). /// /// Task ReceiveAsync(CancellationToken cancellationToken); /// /// Sends a UDP message to a particular end point (uni or multicast). /// Task SendAsync(byte[] buffer, int bytes, IpEndPointInfo endPoint, CancellationToken cancellationToken); } }