| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- using System;
 
- using System.Net;
 
- using System.Net.Sockets;
 
- using System.Threading;
 
- using System.Threading.Tasks;
 
- using Emby.Server.Implementations.Networking;
 
- using MediaBrowser.Model.Logging;
 
- using MediaBrowser.Model.Net;
 
- namespace Emby.Server.Implementations.Net
 
- {
 
-     public class NetAcceptSocket : IAcceptSocket
 
-     {
 
-         public Socket Socket { get; private set; }
 
-         private readonly ILogger _logger;
 
-         public bool DualMode { get; private set; }
 
-         public NetAcceptSocket(Socket socket, ILogger logger, bool isDualMode)
 
-         {
 
-             if (socket == null)
 
-             {
 
-                 throw new ArgumentNullException("socket");
 
-             }
 
-             if (logger == null)
 
-             {
 
-                 throw new ArgumentNullException("logger");
 
-             }
 
-             Socket = socket;
 
-             _logger = logger;
 
-             DualMode = isDualMode;
 
-         }
 
-         public IpEndPointInfo LocalEndPoint
 
-         {
 
-             get
 
-             {
 
-                 return NetworkManager.ToIpEndPointInfo((IPEndPoint)Socket.LocalEndPoint);
 
-             }
 
-         }
 
-         public IpEndPointInfo RemoteEndPoint
 
-         {
 
-             get
 
-             {
 
-                 return NetworkManager.ToIpEndPointInfo((IPEndPoint)Socket.RemoteEndPoint);
 
-             }
 
-         }
 
-         public void Connect(IpEndPointInfo endPoint)
 
-         {
 
-             var nativeEndpoint = NetworkManager.ToIPEndPoint(endPoint);
 
-             Socket.Connect(nativeEndpoint);
 
-         }
 
-         public void Close()
 
-         {
 
- #if NET46
 
-             Socket.Close();
 
- #else
 
-             Socket.Dispose();
 
- #endif
 
-         }
 
-         public void Shutdown(bool both)
 
-         {
 
-             if (both)
 
-             {
 
-                 Socket.Shutdown(SocketShutdown.Both);
 
-             }
 
-             else
 
-             {
 
-                 // Change interface if ever needed
 
-                 throw new NotImplementedException();
 
-             }
 
-         }
 
-         public void Listen(int backlog)
 
-         {
 
-             Socket.Listen(backlog);
 
-         }
 
-         public void Bind(IpEndPointInfo endpoint)
 
-         {
 
-             var nativeEndpoint = NetworkManager.ToIPEndPoint(endpoint);
 
-             Socket.Bind(nativeEndpoint);
 
-         }
 
-         public void Dispose()
 
-         {
 
-             Socket.Dispose();
 
-             GC.SuppressFinalize(this);
 
-         }
 
-     }
 
- }
 
 
  |