From 300453396a57cd14bcb297627b1507de83dc88ab Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Thu, 1 Mar 2018 03:54:44 +0000 Subject: [PATCH] Pass StringValues via in (#2295) --- .../Internal/Http/HttpHeaders.Generated.cs | 16 ++++++++-------- src/Kestrel.Core/Internal/Http/HttpHeaders.cs | 12 ++++++------ .../Internal/Http/HttpRequestHeaders.cs | 2 +- .../Internal/Http/HttpResponseHeaders.cs | 6 +++--- tools/CodeGenerator/KnownHeaders.cs | 6 +++--- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs b/src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs index 84dc60f624..27473181b7 100644 --- a/src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs +++ b/src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs @@ -1252,7 +1252,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return MaybeUnknown?.TryGetValue(key, out value) ?? false; } - protected override void SetValueFast(string key, StringValues value) + protected override void SetValueFast(string key, in StringValues value) { switch (key.Length) { @@ -1600,7 +1600,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http SetValueUnknown(key, value); } - protected override bool AddValueFast(string key, StringValues value) + protected override bool AddValueFast(string key, in StringValues value) { switch (key.Length) { @@ -5411,25 +5411,25 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http } } - public void SetRawConnection(StringValues value, byte[] raw) + public void SetRawConnection(in StringValues value, byte[] raw) { _bits |= 2L; _headers._Connection = value; _headers._rawConnection = raw; } - public void SetRawDate(StringValues value, byte[] raw) + public void SetRawDate(in StringValues value, byte[] raw) { _bits |= 4L; _headers._Date = value; _headers._rawDate = raw; } - public void SetRawTransferEncoding(StringValues value, byte[] raw) + public void SetRawTransferEncoding(in StringValues value, byte[] raw) { _bits |= 64L; _headers._TransferEncoding = value; _headers._rawTransferEncoding = raw; } - public void SetRawServer(StringValues value, byte[] raw) + public void SetRawServer(in StringValues value, byte[] raw) { _bits |= 33554432L; _headers._Server = value; @@ -5849,7 +5849,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return MaybeUnknown?.TryGetValue(key, out value) ?? false; } - protected override void SetValueFast(string key, StringValues value) + protected override void SetValueFast(string key, in StringValues value) { ValidateHeaderCharacters(value); switch (key.Length) @@ -6154,7 +6154,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http SetValueUnknown(key, value); } - protected override bool AddValueFast(string key, StringValues value) + protected override bool AddValueFast(string key, in StringValues value) { ValidateHeaderCharacters(value); switch (key.Length) diff --git a/src/Kestrel.Core/Internal/Http/HttpHeaders.cs b/src/Kestrel.Core/Internal/Http/HttpHeaders.cs index f0aa6218df..92061b5d87 100644 --- a/src/Kestrel.Core/Internal/Http/HttpHeaders.cs +++ b/src/Kestrel.Core/Internal/Http/HttpHeaders.cs @@ -107,7 +107,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http } [MethodImpl(MethodImplOptions.NoInlining)] - protected static StringValues AppendValue(StringValues existing, string append) + protected static StringValues AppendValue(in StringValues existing, string append) { return StringValues.Concat(existing, append); } @@ -134,10 +134,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http protected virtual bool TryGetValueFast(string key, out StringValues value) { throw new NotImplementedException(); } - protected virtual void SetValueFast(string key, StringValues value) + protected virtual void SetValueFast(string key, in StringValues value) { throw new NotImplementedException(); } - protected virtual bool AddValueFast(string key, StringValues value) + protected virtual bool AddValueFast(string key, in StringValues value) { throw new NotImplementedException(); } protected virtual bool RemoveFast(string key) @@ -234,7 +234,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return TryGetValueFast(key, out value); } - public static void ValidateHeaderCharacters(StringValues headerValues) + public static void ValidateHeaderCharacters(in StringValues headerValues) { var count = headerValues.Count; for (var i = 0; i < count; i++) @@ -258,7 +258,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http } } - public static unsafe ConnectionOptions ParseConnection(StringValues connection) + public static unsafe ConnectionOptions ParseConnection(in StringValues connection) { var connectionOptions = ConnectionOptions.None; @@ -360,7 +360,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return connectionOptions; } - public static unsafe TransferCoding GetFinalTransferCoding(StringValues transferEncoding) + public static unsafe TransferCoding GetFinalTransferCoding(in StringValues transferEncoding) { var transferEncodingOptions = TransferCoding.None; diff --git a/src/Kestrel.Core/Internal/Http/HttpRequestHeaders.cs b/src/Kestrel.Core/Internal/Http/HttpRequestHeaders.cs index c441ae5ed6..9ee5a2a27e 100644 --- a/src/Kestrel.Core/Internal/Http/HttpRequestHeaders.cs +++ b/src/Kestrel.Core/Internal/Http/HttpRequestHeaders.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http } [MethodImpl(MethodImplOptions.NoInlining)] - private void SetValueUnknown(string key, StringValues value) + private void SetValueUnknown(string key, in StringValues value) { Unknown[key] = value; } diff --git a/src/Kestrel.Core/Internal/Http/HttpResponseHeaders.cs b/src/Kestrel.Core/Internal/Http/HttpResponseHeaders.cs index badb63449c..f559102c6a 100644 --- a/src/Kestrel.Core/Internal/Http/HttpResponseHeaders.cs +++ b/src/Kestrel.Core/Internal/Http/HttpResponseHeaders.cs @@ -68,7 +68,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http } [MethodImpl(MethodImplOptions.NoInlining)] - private void SetValueUnknown(string key, StringValues value) + private void SetValueUnknown(string key, in StringValues value) { ValidateHeaderCharacters(key); Unknown[key] = value; @@ -93,11 +93,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http _collection = collection; _bits = collection._bits; _state = 0; - _current = default(KeyValuePair); + _current = default; _hasUnknown = collection.MaybeUnknown != null; _unknownEnumerator = _hasUnknown ? collection.MaybeUnknown.GetEnumerator() - : default(Dictionary.Enumerator); + : default; } public KeyValuePair Current => _current; diff --git a/tools/CodeGenerator/KnownHeaders.cs b/tools/CodeGenerator/KnownHeaders.cs index 18a0613469..6aa1654681 100644 --- a/tools/CodeGenerator/KnownHeaders.cs +++ b/tools/CodeGenerator/KnownHeaders.cs @@ -344,7 +344,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http }}")} }}")} {Each(loop.Headers.Where(header => header.EnhancedSetter), header => $@" - public void SetRaw{header.Identifier}(StringValues value, byte[] raw) + public void SetRaw{header.Identifier}(in StringValues value, byte[] raw) {{ {header.SetBit()}; _headers._{header.Identifier} = value; @@ -383,7 +383,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return MaybeUnknown?.TryGetValue(key, out value) ?? false; }} - protected override void SetValueFast(string key, StringValues value) + protected override void SetValueFast(string key, in StringValues value) {{{(loop.ClassName == "HttpResponseHeaders" ? @" ValidateHeaderCharacters(value);" : "")} switch (key.Length) @@ -405,7 +405,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http SetValueUnknown(key, value); }} - protected override bool AddValueFast(string key, StringValues value) + protected override bool AddValueFast(string key, in StringValues value) {{{(loop.ClassName == "HttpResponseHeaders" ? @" ValidateHeaderCharacters(value);" : "")} switch (key.Length)