aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
diff options
context:
space:
mode:
authorMatt Montgomery <33811686+ConfusedPolarBear@users.noreply.github.com>2020-07-26 18:14:35 -0500
committerMatt Montgomery <33811686+ConfusedPolarBear@users.noreply.github.com>2020-07-26 18:14:35 -0500
commit0945659cb572be510c7bdd30315f23b0e3c9a8f3 (patch)
tree6d0f4ecdfc80d2b90b13653a36eb32b82355a099 /Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
parenta40fe867762ee8b538848b164952d951c3534485 (diff)
Apply suggestions from code review
Diffstat (limited to 'Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs')
-rw-r--r--Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs25
1 files changed, 11 insertions, 14 deletions
diff --git a/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs b/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
index 263556e9d..a69ea2267 100644
--- a/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
+++ b/Emby.Server.Implementations/QuickConnect/QuickConnectManager.cs
@@ -149,15 +149,16 @@ namespace Emby.Server.Implementations.QuickConnect
/// <inheritdoc/>
public string GenerateCode()
{
+ Span<byte> raw = stackalloc byte[4];
+
int min = (int)Math.Pow(10, CodeLength - 1);
int max = (int)Math.Pow(10, CodeLength);
uint scale = uint.MaxValue;
while (scale == uint.MaxValue)
{
- byte[] raw = new byte[4];
_rng.GetBytes(raw);
- scale = BitConverter.ToUInt32(raw, 0);
+ scale = BitConverter.ToUInt32(raw);
}
int code = (int)(min + ((max - min) * (scale / (double)uint.MaxValue)));
@@ -247,7 +248,7 @@ namespace Emby.Server.Implementations.QuickConnect
private string GenerateSecureRandom(int length = 32)
{
- var bytes = new byte[length];
+ Span<byte> bytes = stackalloc byte[length];
_rng.GetBytes(bytes);
return Hex.Encode(bytes);
@@ -265,7 +266,7 @@ namespace Emby.Server.Implementations.QuickConnect
}
// Expire stale connection requests
- var delete = new List<string>();
+ var code = string.Empty;
var values = _currentRequests.Values.ToList();
for (int i = 0; i < values.Count; i++)
@@ -273,17 +274,13 @@ namespace Emby.Server.Implementations.QuickConnect
var added = values[i].DateAdded ?? DateTime.UnixEpoch;
if (DateTime.Now > added.AddMinutes(Timeout) || expireAll)
{
- delete.Add(values[i].Code);
- }
- }
+ code = values[i].Code;
+ _logger.LogDebug("Removing expired request {code}", code);
- foreach (var code in delete)
- {
- _logger.LogDebug("Removing expired request {code}", code);
-
- if (!_currentRequests.TryRemove(code, out _))
- {
- _logger.LogWarning("Request {code} already expired", code);
+ if (!_currentRequests.TryRemove(code, out _))
+ {
+ _logger.LogWarning("Request {code} already expired", code);
+ }
}
}
}