aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
diff options
context:
space:
mode:
authorMichalis Adamidis <gsnerf@gsnerf.de>2014-08-30 02:05:33 +0200
committerMichalis Adamidis <gsnerf@gsnerf.de>2014-08-30 02:05:33 +0200
commit7c5613fc51738cb3af1ce3e7ada9eb19a54b3aed (patch)
treedfd23a717d87e1da776a74f9952a5fae8f215b4a /MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
parent5740a4c22d676d0050e875b0bd5455f5a303f5bd (diff)
parent6a9dbf6ae85b4e7abcf06f7f29ef9d8b0b890876 (diff)
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs')
-rw-r--r--MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs14
1 files changed, 12 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs b/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
index 9de6972f8..5fd43aa76 100644
--- a/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
+++ b/MediaBrowser.Server.Implementations/HttpServer/RangeRequestWriter.cs
@@ -1,10 +1,10 @@
-using System.Threading;
-using ServiceStack.Web;
+using ServiceStack.Web;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Net;
+using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Server.Implementations.HttpServer
@@ -24,6 +24,9 @@ namespace MediaBrowser.Server.Implementations.HttpServer
private long RangeLength { get; set; }
private long TotalContentLength { get; set; }
+ public bool Throttle { get; set; }
+ public long ThrottleLimit { get; set; }
+
/// <summary>
/// The _options
/// </summary>
@@ -159,6 +162,13 @@ namespace MediaBrowser.Server.Implementations.HttpServer
/// <param name="responseStream">The response stream.</param>
public void WriteTo(Stream responseStream)
{
+ if (Throttle)
+ {
+ responseStream = new ThrottledStream(responseStream, ThrottleLimit)
+ {
+ MinThrottlePosition = ThrottleLimit * 180
+ };
+ }
var task = WriteToAsync(responseStream);
Task.WaitAll(task);