aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Net/IAcceptSocket.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/IAcceptSocket.cs
parent8e1c53aaf482ec89df00066ca827239e5dde3346 (diff)
parent7cbc76af27637fca10bca21d0b343f96b1a02b6a (diff)
Merge pull request #2504 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Model/Net/IAcceptSocket.cs')
-rw-r--r--MediaBrowser.Model/Net/IAcceptSocket.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Net/IAcceptSocket.cs b/MediaBrowser.Model/Net/IAcceptSocket.cs
new file mode 100644
index 000000000..cac23b337
--- /dev/null
+++ b/MediaBrowser.Model/Net/IAcceptSocket.cs
@@ -0,0 +1,28 @@
+using System;
+
+namespace MediaBrowser.Model.Net
+{
+ public interface IAcceptSocket : IDisposable
+ {
+ bool DualMode { get; }
+ IpEndPointInfo LocalEndPoint { get; }
+ IpEndPointInfo RemoteEndPoint { get; }
+ void Close();
+ void Shutdown(bool both);
+ void Listen(int backlog);
+ void Bind(IpEndPointInfo endpoint);
+ void Connect(IpEndPointInfo endPoint);
+ void StartAccept(Action<IAcceptSocket> onAccept, Func<bool> isClosed);
+ }
+
+ public class SocketCreateException : Exception
+ {
+ public SocketCreateException(string errorCode, Exception originalException)
+ : base(errorCode, originalException)
+ {
+ ErrorCode = errorCode;
+ }
+
+ public string ErrorCode { get; private set; }
+ }
+}