diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-03-03 00:53:47 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-03 00:53:47 -0500 |
| commit | 9f8cbc668db3885f2a30ebf5ca62d2e1de3af98f (patch) | |
| tree | 4a9f055e10fa90384d74a635ca535e3de328f9bd /MediaBrowser.Model/Net/ISocket.cs | |
| parent | 8e1c53aaf482ec89df00066ca827239e5dde3346 (diff) | |
| parent | 7cbc76af27637fca10bca21d0b343f96b1a02b6a (diff) | |
Merge pull request #2504 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Model/Net/ISocket.cs')
| -rw-r--r-- | MediaBrowser.Model/Net/ISocket.cs | 38 |
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 |
