aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Net/ISocket.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-03-03 00:53:47 -0500
committerGitHub <noreply@github.com>2017-03-03 00:53:47 -0500
commit9f8cbc668db3885f2a30ebf5ca62d2e1de3af98f (patch)
tree4a9f055e10fa90384d74a635ca535e3de328f9bd /MediaBrowser.Model/Net/ISocket.cs
parent8e1c53aaf482ec89df00066ca827239e5dde3346 (diff)
parent7cbc76af27637fca10bca21d0b343f96b1a02b6a (diff)
Merge pull request #2504 from MediaBrowser/dev
Dev
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