diff options
Diffstat (limited to 'MediaBrowser.Model/Net/IAcceptSocket.cs')
| -rw-r--r-- | MediaBrowser.Model/Net/IAcceptSocket.cs | 28 |
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; } + } +} |
