Pass StringValues via in (#2295)

This commit is contained in:
Ben Adams 2018-03-01 03:54:44 +00:00 committed by David Fowler
parent 2c108d9ba1
commit 300453396a
5 changed files with 21 additions and 21 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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;
}

View File

@ -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<string, StringValues>);
_current = default;
_hasUnknown = collection.MaybeUnknown != null;
_unknownEnumerator = _hasUnknown
? collection.MaybeUnknown.GetEnumerator()
: default(Dictionary<string, StringValues>.Enumerator);
: default;
}
public KeyValuePair<string, StringValues> Current => _current;

View File

@ -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)