| 12345678910111213141516171819202122232425262728293031 | 
							- using System;
 
- using System.Threading;
 
- using System.Threading.Tasks;
 
- 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);
 
-         Task SendFile(string path, byte[] preBuffer, byte[] postBuffer, CancellationToken cancellationToken);
 
-     }
 
-     public class SocketCreateException : Exception
 
-     {
 
-         public SocketCreateException(string errorCode, Exception originalException)
 
-             : base(errorCode, originalException)
 
-         {
 
-             ErrorCode = errorCode;
 
-         }
 
-         public string ErrorCode { get; private set; }
 
-     }
 
- }
 
 
  |