Faster Headers.ClearFast

This commit is contained in:
Ben Adams 2015-12-16 20:41:01 +00:00
parent 349af50977
commit 559cd51255
2 changed files with 360 additions and 156 deletions

View File

@ -212,9 +212,13 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
public StringValues Header{header.Identifier} public StringValues Header{header.Identifier}
{{ {{
get get
{{
if ({header.TestBit()})
{{ {{
return _{header.Identifier}; return _{header.Identifier};
}} }}
return StringValues.Empty;
}}
set set
{{ {{
{header.SetBit()}; {header.SetBit()};
@ -352,10 +356,6 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
protected override void ClearFast() protected override void ClearFast()
{{ {{
_bits = 0; _bits = 0;
{Each(loop.Headers, header => $@"
_{header.Identifier} = StringValues.Empty;")}
{Each(loop.Headers.Where(header => header.EnhancedSetter), header => $@"
_raw{header.Identifier} = null;")}
MaybeUnknown?.Clear(); MaybeUnknown?.Clear();
}} }}