aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/HttpServer
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/HttpServer')
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs14
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/NetListener/HttpListenerServer.cs18
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs21
3 files changed, 18 insertions, 35 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
index d0ea07056..6e0b654fd 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs
@@ -1,5 +1,4 @@
-using Amib.Threading;
-using Funq;
+using Funq;
using MediaBrowser.Common;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
@@ -15,7 +14,6 @@ using ServiceStack.Host.HttpListener;
using ServiceStack.Logging;
using ServiceStack.Web;
using System;
-using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -37,7 +35,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
private IHttpListener _listener;
- private readonly SmartThreadPool _threadPoolManager;
private const int IdleTimeout = 300;
private readonly ContainerAdapter _containerAdapter;
@@ -62,9 +59,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
_logger = logManager.GetLogger("HttpServer");
_containerAdapter = new ContainerAdapter(applicationHost);
-
- _threadPoolManager = new SmartThreadPool(IdleTimeout,
- maxWorkerThreads: Math.Max(16, Environment.ProcessorCount * 2));
}
public override void Configure(Container container)
@@ -158,8 +152,8 @@ namespace MediaBrowser.Server.Implementations.HttpServer
HostContext.Config.HandlerFactoryPath = ListenerRequest.GetHandlerPathIfAny(UrlPrefixes.First());
_listener = NativeWebSocket.IsSupported
- ? _listener = new HttpListenerServer(_logger, _threadPoolManager)
- : _listener = new WebSocketSharpListener(_logger, _threadPoolManager);
+ ? _listener = new HttpListenerServer(_logger)
+ : _listener = new WebSocketSharpListener(_logger);
_listener.WebSocketHandler = WebSocketHandler;
_listener.ErrorHandler = ErrorHandler;
@@ -356,8 +350,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer
if (disposing)
{
- _threadPoolManager.Dispose();
-
Stop();
}
diff --git a/MediaBrowser.Server.Implementations/HttpServer/NetListener/HttpListenerServer.cs b/MediaBrowser.Server.Implementations/HttpServer/NetListener/HttpListenerServer.cs
index 7f766129e..12106c32e 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/NetListener/HttpListenerServer.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/NetListener/HttpListenerServer.cs
@@ -1,6 +1,4 @@
-using System.Text;
-using Amib.Threading;
-using MediaBrowser.Common.Net;
+using MediaBrowser.Common.Net;
using MediaBrowser.Model.Logging;
using ServiceStack;
using ServiceStack.Host.HttpListener;
@@ -10,6 +8,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Net;
+using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -20,7 +19,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
private readonly ILogger _logger;
private HttpListener _listener;
private readonly AutoResetEvent _listenForNextRequest = new AutoResetEvent(false);
- private readonly SmartThreadPool _threadPoolManager;
public System.Action<Exception, IRequest> ErrorHandler { get; set; }
public Action<WebSocketConnectEventArgs> WebSocketHandler { get; set; }
@@ -28,11 +26,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
private readonly ConcurrentDictionary<string, string> _localEndPoints = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- public HttpListenerServer(ILogger logger, SmartThreadPool threadPoolManager)
+ public HttpListenerServer(ILogger logger)
{
_logger = logger;
-
- _threadPoolManager = threadPoolManager;
}
/// <summary>
@@ -63,7 +59,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
_listener.Start();
- ThreadPool.QueueUserWorkItem(Listen);
+ Task.Factory.StartNew(Listen, TaskCreationOptions.LongRunning);
}
private bool IsListening
@@ -72,7 +68,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
}
// Loop here to begin processing of new requests.
- private void Listen(object state)
+ private void Listen()
{
while (IsListening)
{
@@ -130,7 +126,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
_listenForNextRequest.Set();
}
- _threadPoolManager.QueueWorkItem(() => InitTask(context));
+ Task.Factory.StartNew(() => InitTask(context));
}
private void InitTask(HttpListenerContext context)
@@ -287,8 +283,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer.NetListener
if (disposing)
{
- _threadPoolManager.Dispose();
-
Stop();
}
diff --git a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
index cf756d9f2..b18d0df5e 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/SocketSharp/WebSocketSharpListener.cs
@@ -1,14 +1,13 @@
-using System;
+using MediaBrowser.Common.Net;
+using MediaBrowser.Model.Logging;
+using ServiceStack;
+using ServiceStack.Web;
+using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using Amib.Threading;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Model.Logging;
-using ServiceStack;
-using ServiceStack.Web;
using WebSocketSharp.Net;
using WebSocketSharp.Server;
@@ -20,12 +19,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
private WebSocketSharp.Server.HttpServer _httpsv;
private readonly ILogger _logger;
- private readonly SmartThreadPool _threadPoolManager;
- public WebSocketSharpListener(ILogger logger, SmartThreadPool threadPoolManager)
+ public WebSocketSharpListener(ILogger logger)
{
_logger = logger;
- _threadPoolManager = threadPoolManager;
}
public IEnumerable<string> LocalEndPoints
@@ -33,9 +30,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
get { return _localEndPoints.Keys.ToList(); }
}
- public System.Action<Exception, IRequest> ErrorHandler { get; set; }
+ public Action<Exception, IRequest> ErrorHandler { get; set; }
- public System.Func<IHttpRequest, Uri, Task> RequestHandler { get; set; }
+ public Func<IHttpRequest, Uri, Task> RequestHandler { get; set; }
public Action<WebSocketConnectEventArgs> WebSocketHandler { get; set; }
@@ -50,7 +47,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.SocketSharp
void _httpsv_OnRequest(object sender, HttpRequestEventArgs e)
{
- _threadPoolManager.QueueWorkItem(() => InitTask(e.Context));
+ Task.Factory.StartNew(() => InitTask(e.Context));
}
private void InitTask(HttpListenerContext context)